Rumah > pembangunan bahagian belakang > tutorial php > Mengapa Aritmetik Titik Terapung PHP Menghasilkan Keputusan Yang Tidak Dijangka?

Mengapa Aritmetik Titik Terapung PHP Menghasilkan Keputusan Yang Tidak Dijangka?

Patricia Arquette
Lepaskan: 2024-12-30 21:36:09
asal
638 orang telah melayarinya

Why Does PHP's Floating-Point Arithmetic Produce Unexpected Results?

Percanggahan Ketepatan Aritmetik Titik Terapung PHP

Tidak seperti aritmetik nombor nyata, aritmetik titik terapung beroperasi pada sistem binari dengan ketepatan terhad, menghasilkan dalam anggaran dan tidak konsisten. Contohnya, dalam PHP:

$a = '35';
$b = '-34.99';
echo ($a + $b); // Outputs 0.009999999999998
Salin selepas log masuk

Hasil yang tidak dijangka ini berpunca daripada perwakilan anggaran 34.99 dalam binari, yang memerlukan penggunaan anggaran. Untuk menangani isu ini, pertimbangkan penyelesaian berikut:

  • Membundarkan Keputusan: Gunakan bulat($result, 2) untuk membundarkan hasil ke tempat perpuluhan yang diingini.
  • Menggunakan Nombor Bulat: Untuk aplikasi kewangan, simpan nilai kewangan sebagai integer (cth., $35.00 sebagai 3500) dan lakukan pengiraan sebagai integer sebelum membahagikan dengan 100.

Walaupun PHP tidak mempunyai jenis data perpuluhan khusus, menggunakan pendekatan ini boleh mengurangkan cabaran yang berkaitan dengan percanggahan ketepatan titik terapung.

Atas ialah kandungan terperinci Mengapa Aritmetik Titik Terapung PHP Menghasilkan Keputusan Yang Tidak Dijangka?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan