Bagaimana untuk menukar nombor titik terapung dalam PHP

PHPz
Lepaskan: 2023-04-04 10:18:01
asal
488 orang telah melayarinya

Dalam pengaturcaraan PHP, kita selalunya perlu melakukan operasi nombor. Nombor titik terapung ialah jenis biasa bagi operasi nombor ini. Apabila melakukan pengiraan yang tepat, kita selalunya perlu menukar nombor titik terapung ke dalam bentuk positif. Jadi, bagaimanakah kita boleh melakukan operasi positif pada nombor titik terapung dalam PHP?

1. Apakah itu nombor titik terapung

Dalam sains komputer, nombor titik terapung ialah jenis data berangka yang digunakan untuk mewakili nombor nyata. Cirinya ialah kedudukan titik perpuluhan adalah berubah-ubah, iaitu "titik terapung". Dalam PHP, nombor titik terapung boleh diwakili dalam format berikut: $f = 3.14;.

Mungkin terdapat beberapa ralat dalam pengiraan nombor titik terapung Ini disebabkan oleh perbezaan antara cara nilai komputer disimpan dan cara nombor nyata diwakili dalam matematik. Mari lihat contoh:

$a = 0.1;
$b = 0.7;
$c = $b - $a;
echo $c;
Salin selepas log masuk

Kami berharap hasil keluaran ialah 0.6, tetapi hasil keluaran sebenar ialah 0.59999999999999. Ini kerana komputer hanya boleh menggunakan bilangan bit binari yang terhad untuk mewakili perpuluhan apabila menyimpan perpuluhan, jadi akan berlaku ketidaktepatan dalam penyimpanan dan pengiraan.

2. Operasi positif nombor titik terapung

Untuk senario aplikasi yang memerlukan pengiraan yang tepat, kita perlu melakukan operasi positif pada nombor titik terapung, iaitu menukarkannya kepada bentuk positif. Sebagai contoh, $a = -3.14 perlu ditukar kepada $a = 3.14;.

Dalam PHP, kita boleh menggunakan fungsi abs() untuk melaksanakan operasi nilai mutlak pada nombor, contohnya:

$a = -3.14;
$a = abs($a);
echo $a;
Salin selepas log masuk

Kod di atas melaksanakan operasi menukar $a kepada positif nombor. Keluaran ialah 3.14.

Walau bagaimanapun, kod di atas tidak dapat menangani isu ketepatan nombor titik terapung negatif. Oleh itu, kita perlu menggunakan beberapa kaedah pembetulan yang lebih tepat. Dua kaedah yang biasa digunakan diperkenalkan di bawah.

  1. Gunakan fungsi round()

Fungsi round() boleh membundarkan nombor kepada nombor tempat perpuluhan yang ditentukan. Sebagai contoh, kita boleh menggunakan kod berikut untuk menukar nombor kepada nombor positif:

$a = -3.14;
$a = round($a, 2);
$a = abs($a);
echo $a;
Salin selepas log masuk

Dalam kod di atas, fungsi round() membundarkan $a kepada dua tempat perpuluhan dan kemudian menukar hasilnya kepada nombor positif. Keluaran ialah 3.14.

  1. Gunakan fungsi sprintf()

Fungsi sprintf() boleh memformat nombor mengikut rentetan format yang ditentukan dan mengembalikan rentetan terformat . Sebagai contoh, kita boleh menggunakan kod berikut untuk menukar nombor kepada nombor positif:

$a = -3.14;
$a = sprintf("%.2f", abs($a));
echo $a;
Salin selepas log masuk

Dalam kod di atas, fungsi sprintf() menggunakan rentetan format yang ditentukan "%.2f" untuk menukar $ a kepada titik perpuluhan Dua digit terakhir nombor titik terapung, dan gunakan fungsi abs() untuk menukar hasilnya kepada bentuk positif. Keluaran ialah 3.14.

3. Ringkasan

Artikel ini memperkenalkan cara menukar nombor titik terapung kepada bentuk positif dalam PHP. Kita boleh menggunakan fungsi abs() untuk melaksanakan operasi nilai mutlak pada nombor, atau kita boleh menggunakan fungsi round() dan fungsi sprintf() untuk melaksanakan operasi positif yang tepat pada nombor titik terapung. Apabila melakukan pengiraan yang tepat, kita harus memberi perhatian kepada ketepatan nombor titik terapung untuk mengelakkan ralat dalam keputusan pengiraan.

Atas ialah kandungan terperinci Bagaimana untuk menukar nombor titik terapung dalam PHP. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan