php浮点型详细解析

小云云
小云云asal
2018-03-08 10:53:572272semak imbas

本文主要和大家分享php浮点型详细解析,希望大家对php浮点型有一个更深的理解。

浮点型数据,是存在精度问题的。

var_dump(0.9 ==(1-0.1)) ==>>  true;
var_dump(0.1 == (1-0.9)) ==>>  false;

通过上面的例子:说明在浮点数不要用于判读是否相等。

在PHP中需要判读 两浮点数是否相等时,可以使用 bccomp 函数。
0 表示 相等   1 表示 大于    -1 表示小于
bccomp(值1,值2,精确到小数点后几位)

echo bccomp(0.1,(1-0.9),4) ==>>  0;echo bccomp(0.123,0.124,2) ==>>  0;echo bccomp(0.123,0.124,3) ==>>  -1;

float 的最大能显示 小数点后 14 位。php中 double和float 的容量是一样的。

浮点型数据,是存在精度问题的。

var_dump(0.9 ==(1-0.1)) ==>>  true;
var_dump(0.1 == (1-0.9)) ==>>  false;

通过上面的例子:说明在浮点数不要用于判读是否相等。

在PHP中需要判读 两浮点数是否相等时,可以使用 bccomp 函数。
0 表示 相等   1 表示 大于    -1 表示小于
bccomp(值1,值2,精确到小数点后几位)

echo bccomp(0.1,(1-0.9),4) ==>>  0;echo bccomp(0.123,0.124,2) ==>>  0;echo bccomp(0.123,0.124,3) ==>>  -1;

float 的最大能显示 小数点后 14 位。php中 double和float 的容量是一样的。

相关推荐:

php浮点型(Float)

Atas ialah kandungan terperinci php浮点型详细解析. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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