2013-05-13 70 views
0

的我有以下代碼損失意義PHP一輪

$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?

+1

請參閱 - http://stackoverflow.com/questions/3726721/php-math-precision。 Round返回一個浮點數... – Buggabill 2013-05-13 19:13:30

回答

2

Round仍返回一個浮點數。因爲它是一個浮點數,所以總會有非常小的錯誤。在這種情況下,這會導致您的答案不同於0.