$fooValue = 100.68;
$cowValue = 100.67;
$diffValue = $fooValue - $cowValue;
if($diffValue <= 0.01) {
echo("success");
} else {
echo("error");
}
這將顯示「錯誤」。PHP float的準確性計算
我知道該怎麼做在Java中。但我不擅長PHP,特別是在計算這些東西時。
請幫我一把。我的意思是如何成功呢?
$fooValue = 100.68;
$cowValue = 100.67;
$diffValue = $fooValue - $cowValue;
if($diffValue <= 0.01) {
echo("success");
} else {
echo("error");
}
這將顯示「錯誤」。PHP float的準確性計算
我知道該怎麼做在Java中。但我不擅長PHP,特別是在計算這些東西時。
請幫我一把。我的意思是如何成功呢?
如果您不確定'$ fooValue'總是兩者中最大的,請記住['abs()'](http://php.net/manual/en/function.abs.php)。但是,您的問題似乎是您的epsilon太小,因此浮點值表示會導致錯誤的結果。 – jensgram 2010-10-18 09:07:41
由於浮點表示,'$ diffValue'等於'0.010000000000005';這不是特別的PHP。 – poke 2010-10-18 09:07:57