Teka-teki Ketepatan Pengiraan Apungan PHP
Pengiraan titik terapung dalam pengaturcaraan selalunya boleh menimbulkan cabaran kerana sifatnya yang tidak tepat. Seperti yang ditunjukkan dalam coretan kod PHP, membandingkan dua nombor titik terapung dengan ambang mungkin tidak selalu menghasilkan hasil yang diharapkan.
Perumusan Masalah:
Kod PHP yang disediakan melibatkan operasi berikut:
Isunya terletak pada membandingkan apungan dengan ambang menggunakan <=. Dalam kes ini, kod mempamerkan tingkah laku yang tidak dijangka dengan mengeluarkan "ralat" walaupun perbezaannya hampir sifar.
Penjelasan Penyelesaian:
Ketaktepatan dalam pengiraan titik terapung berpunca daripada kehilangan ketepatan semasa penukaran daripada perpuluhan kepada binari dan sebaliknya. Oleh itu, perbandingan menggunakan == atau <=, yang memerlukan kesaksamaan yang tepat, mungkin tidak selalu menghasilkan keputusan yang tepat.
Untuk menyelesaikan isu ini, pendekatan alternatif seperti:
Dengan menggunakan perpustakaan ini, pengaturcara boleh mengurangkan ketidaktepatan yang wujud dalam pengiraan titik terapung dan mencapai perbandingan yang lebih tepat.
Atas ialah kandungan terperinci Mengapa Perbandingan Terapung PHP Saya Gagal Apabila Ia Harus Berjaya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!