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)

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