因此,每当我对一个浮点数数组求和,并将求和后的数字与另一个浮点数进行比较时,它总是说它们不相同。
所以总数是1.63 这些数字是:0.31、0.31、0.37、0.33、0.31
这些数字加起来为1.63,但是每当我将总和与1.63进行比较时,它们都表示不相同。
这怎么发生?
#!/usr/bin/python
total = 1.63
array = [ 0.31, 0.31, 0.37, 0.33, 0.31 ]
sum = 0
for n in array:
sum += float(n)
print total
print sum
if float(total) == float(sum):
print 'ok'
else:
print 'not ok'
print total, sum
结果:
1.63
1.63
not ok
1.63 1.63
答案 0 :(得分:1)
array = [ 0.31, 0.31, 0.37, 0.33, 0.31 ]
print(sum(array))
#o/p = 1.6300000000000001
# you need to round off upto 2 decimal place to make it equal with 1.63
round(sum(array),2)
#o/p
1.63