最近在处理有关支付的问题时,用到了bcmath 扩展,bccomp 进行两个数字的比较。如果没有安装这个扩展,程序就不会向下执行了。记录一下。但是为什么要用这个扩展,而不使用浮点数进行计算呢?请看下面的例子
$a=0.1;
$b=0.7;
var_dump($a+$b == 0.8);// 结果为 false
echo floor((0.1+0.7)*10); //结果为7
还可以再看一下官方文档的解释
所以在计算涉及金钱的计算时,不能使用浮点数。
最近在处理有关支付的问题时,用到了bcmath 扩展,bccomp 进行两个数字的比较。如果没有安装这个扩展,程序就不会向下执行了。记录一下。但是为什么要用这个扩展,而不使用浮点数进行计算呢?请看下面的例子
$a=0.1;
$b=0.7;
var_dump($a+$b == 0.8);// 结果为 false
echo floor((0.1+0.7)*10); //结果为7
还可以再看一下官方文档的解释
所以在计算涉及金钱的计算时,不能使用浮点数。