关于舍入:失去意义php轮

Loss of significance php round

本问题已经有最佳答案,请猛点这里访问。

我有以下代码

1
2
3
4
5
6
7
8
9
$suma += round(1*43067.8000,2);

$suma += round(-1*18875.1800,2);

$suma += round(-1*15293.9700,2);

$suma += round(-1*8898.6500,2);

print $suma;

输出为3.6379788070917E-12

如果数字在加法前四舍五入,为什么答案不是0?


round still返回浮点数。因为它是一个浮点型,所以可能总是有非常小的错误。在这种情况下,这会导致您的答案与0不同。