2012-09-27 113 views
0

我有一個浮點數fild值= 2.05,當我做field * 1000時結果是 2049.999952316284 爲什麼不是結果2050.0? 。Mysql乘法運算

謝謝

+1

如果你需要它確切然後用'decimal'中,而不是'float'的 –

回答

1

大概是因爲該字段沒有存儲爲2.05,而是存儲爲2.04999。如果您提高該字段的分辨率會發生什麼,即將其存儲爲2.0500?

此問題是由於計算機無法準確存儲一些實數。順便說一句,如果該值應該是貨幣值,則將其存儲爲數字(12,2),然後不會有任何浮點錯誤。