Isu dan Penyelesaian Ketepatan Nombor Terapung PHP
Artikel ini menangani isu biasa dalam PHP di mana pengiraan titik terapung boleh menghasilkan keputusan yang tidak dijangka disebabkan ketaktepatan aritmetik titik terapung.
Untuk contoh:
$a = '35'; $b = '-34.99'; echo ($a + $b);
Hasil operasi ini ialah 0.009999999999998, bukannya 0.01 yang dijangkakan.
Mengapa ini berlaku?
Terapung- aritmetik titik ialah penghampiran aritmetik nombor nyata. Nombor titik terapung disimpan dalam format binari dengan ketepatan terhingga, yang mengehadkan bilangan nombor yang boleh diwakili. Ini boleh menyebabkan ketidaktepatan, terutamanya apabila melakukan operasi yang melibatkan nombor yang sangat besar atau sangat kecil.
Bagaimanakah kita boleh menyelesaikan isu ini?
Terdapat beberapa cara untuk mengatasinya had ini:
Nota tambahan:
Atas ialah kandungan terperinci Mengapakah Pengiraan Titik Terapung PHP Kadangkala Menghasilkan Keputusan Yang Tidak Dijangka?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!