我想总结一个浮点数列表。列表中没有重复的小数,但结果是重复的小数。原因是什么以及如何预防? (Python版本:2.7.11)
例如,
a=[1.1, 1.1, 1.1, 1.1, 1.1, 1.1, 1.1]
sum(a)
结果
7.699999999999999
谢谢。
答案 0 :(得分:0)
这是二进制浮点的本质。您可以阅读更多信息here
注意:您始终可以使用%.f
来获得精确度。即你案件中的%.1f
答案 1 :(得分:0)
您可以使用numpy进行计算,如下面的代码所示:
import numpy
a=[1.1, 1.1, 1.1, 1.1, 1.1, 1.1, 1.1]
print(numpy.sum(a))