其实 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;
.........哈哈哈哈.........
🐶 你走,我不送你。你来,风雨无阻,我去接你。