这是因为以10为底的有限表示形式的数字在PHP使用的浮点表示形式中可能具有也可能没有确切的表示形式。
看到
> php -r“回显var_dump(sprintf('%。40F',39.3 * 100.0));”字符串(45)“ 3929.9999999999995452526491135358810424804688”
由于
int总是将数字四舍五入,因此制图表达中的一个小错误使它可以将其四舍五入为一个原本希望的数字。
考虑
round改为使用。

这是因为以10为底的有限表示形式的数字在PHP使用的浮点表示形式中可能具有也可能没有确切的表示形式。
看到
> php -r“回显var_dump(sprintf('%。40F',39.3 * 100.0));”字符串(45)“ 3929.9999999999995452526491135358810424804688”
由于
int总是将数字四舍五入,因此制图表达中的一个小错误使它可以将其四舍五入为一个原本希望的数字。
考虑
round改为使用。