在php中进行简单计算..我做错了吗?

时间:2017-02-11 13:07:19

标签: php

我不懂php:

for file in vhost-*.conf; do
    num=${file#vhost-}
    num=${num%.conf}
    sed -i "s/listen .*/listen $num;/" "$file"
done

结果2.7755575615629E-17
正确= 0!

2 个答案:

答案 0 :(得分:3)

E-17的确意味着x 10 ^( - 17)。

根据计算机,它在十进制浮点数的远端遇到精度错误,它计算你的答案为0.00000000000000002775557 ......

如果您不需要那种精确度,可以强制舍入到一定的精度:

echo round(-0.01-0.02-0.16+0.01+0.01+0.17, 8); 

答案 1 :(得分:0)

你得到的答案是根据BODMAS规则的准确答案,如果你想要回答答案而不仅仅是使用PHP的round()函数。你会得到答案。

  echo round(-0.01-0.02-0.16+0.01+0.01+0.17, 8);