Rumah >pembangunan bahagian belakang >tutorial php >Mengapa Pengiraan Titik Terapung PHP Saya Tidak Tepat?
Ketepatan Titik Terapung dalam PHP
Menghadapi hasil yang tidak dijangka apabila melakukan aritmetik titik terapung dalam PHP? Isu ini timbul disebabkan sifat semula jadi perwakilan titik terapung dalam komputer.
Nombor titik terapung ialah nombor binari dengan ketepatan terhad, yang membawa kepada percanggahan antara jangkaan matematik dan keputusan sebenar. Ini bermakna, tidak seperti aritmetik nombor nyata, aritmetik titik terapung mungkin menghadapi ketidaktepatan seperti (a b)-b != a untuk nilai tertentu.
Untuk menggambarkan, pertimbangkan kod PHP:
$a = '35'; $b = '-34.99'; echo ($a + $b);
Keluaran ialah 0.009999999999998, manakala seseorang menjangkakan 0.01. Sisihan ini berlaku kerana kedua-dua 34.99 dan 0.01 tidak boleh diwakili dengan tepat dalam binari. Sebaliknya, anggaran digunakan.
Untuk mengurangkan isu ini, beberapa pendekatan boleh digunakan:
Walaupun PHP tidak mempunyai jenis data perpuluhan, fungsi bulat dan teknik manipulasi integer menyediakan penyelesaian yang berkesan untuk pengendalian ketepatan titik terapung.
Atas ialah kandungan terperinci Mengapa Pengiraan Titik Terapung PHP Saya Tidak Tepat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!