最近做数据处理,遇到了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)