-2
我只是檢查以下東西在Python 2.7的Python:浮法附加值和減法給出錯誤的值
打印0.1 + 0.2
輸出: - 0.3
打印0.1 + 0.2 - 0.3
輸出: - 5.55111512313e -17
但我期望0.0 那麼,如何實現這個東西呢?
我只是檢查以下東西在Python 2.7的Python:浮法附加值和減法給出錯誤的值
打印0.1 + 0.2
輸出: - 0.3
打印0.1 + 0.2 - 0.3
輸出: - 5.55111512313e -17
但我期望0.0 那麼,如何實現這個東西呢?
這裏的問題是float類型沒有足夠的精度來顯示你想要的結果。如果您嘗試打印部分總和0.1 + 0.2,則會看到您獲得的浮動結果爲0.30000000000000004。
因此,5.55111512313e-17是與浮點型變量最接近的結果。如果您嘗試將結果轉換爲int,那麼:
int(0.2 + 0.1 - 0.3)
您會看到0,這是正確的整數近似值。 您可以通過使用小數類獲得浮點變量0.0。
試試這個:[?是浮點運算破]
from decimal import Decimal
Decimal("0.2") + Decimal("0.1") - Decimal("0.3")
,你會看到的結果是十進制( 「0.0」)
的可能重複(HTTP://計算器。 COM /問題/ 588004/IS-浮點運算碎) – MattDMo 2014-10-16 19:22:30