浮点型数据,是存在精度问题的。
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)
以上就是php浮点型详细解析的详细内容。
