PHP浮点数运算

时间:2023-01-08 12:52:42

金额计算必需注意此问题!

 

 

问题:浮点数的加减乘除

$num = 7.1 - 7.0;
$num2 = $num - 0.1;
var_dump( $num2 == 0); //false

$num2 == 0 返回false,与我们预期的不一致!

解决方法

1、BCMath

使用PHP PECL中的 BC Math 模块来进行浮点运算,确保运算结果正确!

 

 

示例

浮点数比较
echo bccomp ( '1' , '2' ) . "\n" ; // -1
echo bccomp ( '1.00001' , '1' , 3); // 0
echo bccomp ( '1.00001' , '1' , 5); // 1