其实 intval 精度丢失问题,其他语言也是存在的。。。解决方法也很简单哈 ~
例如出错代码:
$n="19.99"; print intval($n*100); // prints 1998
解决方案一:转换成字符串再 intval
print intval(strval($n*100)); // 1999
解决方案二:使用 round 函数替代 floatval
echo round(19.99*100);// 1999
解决方案三:调整业务逻辑,不使用小数类型,直接使用 int
echo 1999;
.........哈哈哈哈.........
7 天前