PHP 圆精度错误?
PHP round precision bug?
这是错误还是我不懂的数学问题?
round(58.900662, 2) => 58.9
最后一个零在哪里?
编辑:
在我看来,文档缺少信息。
下面的代码符合预期
number_format(round(58.900662, 2), 2) => 58.90
你告诉它把它四舍五入到小数点后第二位,即 58.90。但是,58.90 可以简化为 58.9。是同一个数字。
如果你想强制显示两位小数,你可以使用 PHP 的 number_format() 函数。
如果该数字不是 0
,round
将负责精度,因为最后一个 0
在任何数学运算中都没有影响。
如果数字是 1.569
那么 round
将 return 1.57
如果你想要 0
你可以使用 -
number_format(58.900662, 2, '.', ',');
这是错误还是我不懂的数学问题?
round(58.900662, 2) => 58.9
最后一个零在哪里?
编辑: 在我看来,文档缺少信息。
下面的代码符合预期
number_format(round(58.900662, 2), 2) => 58.90
你告诉它把它四舍五入到小数点后第二位,即 58.90。但是,58.90 可以简化为 58.9。是同一个数字。
如果你想强制显示两位小数,你可以使用 PHP 的 number_format() 函数。
0
,round
将负责精度,因为最后一个 0
在任何数学运算中都没有影响。
如果数字是 1.569
那么 round
将 return 1.57
如果你想要 0
你可以使用 -
number_format(58.900662, 2, '.', ',');