Lewati ke isi

Masalah Operasi Aritmatika untuk Floating Number

Di beberapa bahasa pemrograman, operasi aritmatika (tambah, kurang, kali, bagi, dll) untuk bilangan decimal dalam hal ini khusus tipe data float menjadi sebuah momok. Floating number ini kadang juga menjadi masalah ketika disimpan di database.

Contohnya operasi berikut :

var_dump(9.95 * 100 - 993);
// PHP <= 7.4.x, hasilnya : float(1.9999999999999)
// PHP >= 8.0.x, hasilnya : float(1.9999999999998863)
console.log(9.95 * 100 - 993);
// 1.9999999999998863
// 

Solusinya sederhananya bisa dengan cara merubahnya dari tipe float menjadi tipe data decimal atau yang lebih extreme merubahnya jadi integer ketika disimpan dan ketika melakukan operasi.

Tapi, ternyata tiap bahasa pemrograman ada fitur atau extension khusus untuk menghandle floating number.

Ada sebuah website yang membahas hal tersebut : https://floating-point-gui.de

Di website tersebut juga dibahas solusi di spesifik bahasa pemrograman, seperti :

PHP : https://floating-point-gui.de/languages/php/

Javascript : https://floating-point-gui.de/languages/javascript/

Java : https://floating-point-gui.de/languages/java/

SQL : https://floating-point-gui.de/languages/sql/

Komentar