在 PHP 和其他一些语言都会存在这个问题,转换浮点数为整数的时候会出现精度丢失,如下:
$num = 19.99;
echo intval($num * 100); // 输出 1998
解决办法:
1.转换成字符串再 intval
echo intval(strval($num * 100));// 输出 1999
2.使用 round 函数替代 floatval
echo round($num * 100);// 输出 1999
$num = 19.99;
echo intval($num * 100); // 输出 1998
1.转换成字符串再 intval
echo intval(strval($num * 100));// 输出 1999
2.使用 round 函数替代 floatval
echo round($num * 100);// 输出 1999