gpt4 book ai didi

php计算 float

转载 作者:可可西里 更新时间:2023-11-01 00:07:34 25 4
gpt4 key购买 nike

我这里有一个奇怪的数学计算。希望有人解释一下。

$a = 1.85/100;
$b = 1.5/100;
$c = 1.1/100;
$d = 0.4/100;
$e = 0.4/100;
$f = 0.4/100;
$g = 0.4/100;

$h = $a + $b + $c + $d + $e + $f + $g;

echo $h*100 ."<br>";
$i = $h-$a;
$i = $i-$b;
$i = $i-$c;
$i = $i-$d;
$i = $i-$e;
$i = $i-$f;
$i = $i-$g;

echo $i;

最后一个 $i 值应该是 0 但它返回 6.93889390391E-18。

最佳答案

你应该阅读这篇文章:

What Every Computer Scientist Should Know About Floating-Point Arithmetic

浮点运算并不精确。你应该预料到小错误。答案在小的舍入误差内是正确的。如果您需要检查 float 是否为零,最好不要检查它是否正好等于零,而是检查它是否足够接近零。

如果您确实需要精确算术,请不要使用浮点类型。在您的示例中,您可以将所有数字乘以 100 并使用整数运算来获得准确的答案。

关于php计算 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2661817/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com