Python小數相加的坑:加出來等於.9999999一大串

最近做數據處理,遇到了Python中小數的這種問題,寫出來當做筆記。

 

代碼:

x = 6.2 + 0.1
print(x)
x = 6.3 + 0.1
print(x)

第一個輸出6.3 是沒有任何問題的,但是第二個本應該是6.4。但是出來的卻是一大串,這個比較令我困惑。後面發現其實就是Python的數據類型問題。解決方式如下:

方式1:

x = Decimal('6.3') + Decimal('0.1')
print(x)

方式2:

x =  "%.1f" % (6.3+0.1)
print(x)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章