php 小数点 错误 浮点型相乘错误
参考文献
http://php.net/manual/zh/language.types.float.php
http://php.net/manual/zh/book.bc.php
浮点计算精度有限
有小数点时不能直接比较大小
相乘也要小心
应该使用专业的函数
bccomp
比较大小
实例
var_export(100*'1.1');
// 110.00000000000001
var_export(100*'1.1' == 110);
// false
var_export(bccomp(100*'1.1' , 110 ));
// 0
小数计算非常小心
100*'1.1'
比较大小时 他是按一堆0的
var_export也是一堆0
var_dump 确实没有一堆0
有小数的计算要用bc系列计算函数
实例
// 设置默认精度2位小数
bcscale(2);
// 相乘
var_export(bcmul(0.1,9));
最后更新于 2018-01-17 09:42:10 并被添加「PHP 错误 小数点 浮点型相乘错误」标签,已有 627 位童鞋阅读过。
此处评论已关闭