2015-10-13 143 views
0

爲什麼顯示出與PHP函數不正確的結果?爲什麼用php函數顯示不正確的結果?

這是我的代碼。這是必須的,以顯示0

但是,當我測試此代碼。這表明99

爲什麼?????

<?PHP 
$first = "8.12"; 
$second = "0.12"; 
$first = ($first)*(100); 
$second = ($second)*(100); 
$results = ($first)-($second); 
echo ($results)%(100); 
?> 
+0

當與浮點值的工作,使用'FMOD()'函數。 – kainaw

回答

0

這似乎是浮點變量(雙)的一個奇怪的問題。這裏是你如何解決它,而不必擔心鑄造變量:

$first = "8.12"; 
$second = "0.12"; 
$first = ($first)*(100); 
$second = ($second)*(100); 
$results = round(($first)-($second)); 
echo ($results)%(100); 

添加round的結果計算(或者,如果你願意,乘以$first$second 100時),將解決浮點錯誤。

也可以用第二個參數指定的round()精度,如

round(123.4567, 2); // 123.46