Ketepatan Nombor Terapung PHP: Mengapa Keputusan Tidak Dijangka?
Pengendalian nombor titik terapung PHP boleh menghasilkan keputusan yang mengejutkan. Pertimbangkan perkara berikut:
$a = '35'; $b = '-34.99'; echo ($a + $b);
Daripada jangkaan 0.01, output ialah 0.009999999999998. Keanehan ini berpunca daripada perbezaan asas antara aritmetik titik terapung dan aritmetik nombor nyata.
Nombor titik terapung, seperti namanya, mewakili nombor menggunakan tatatanda binari dengan ketepatan terhingga. Akibatnya, adalah mustahil untuk mewakili semua nombor dengan tepat menggunakan kaedah ini. Ini boleh membawa kepada ketidaktepatan dan kejutan seperti di atas.
Untuk menangani isu ini, seseorang boleh mempertimbangkan perkara berikut:
Malangnya, PHP tidak mempunyai jenis data perpuluhan khusus seperti banyak bahasa lain. Ini boleh menghalang ketepatan apabila bekerja dengan pengiraan kewangan atau saintifik.
Atas ialah kandungan terperinci Mengapa Penambahan Titik Terapung PHP Menghasilkan Keputusan Yang Tidak Dijangka?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!