Possible Duplicate:
Python float – str – float weirdness
I run the following code in python on codepad.org:
num = 1.6
print num
list = [num]
print list
num2 = list[0]
print num2
And I get the following output:
1.6
[1.6000000000000001]
1.6
Why the tiny deviation in the list?
list.__str__callsrepron its elements, where as print callsstr:Since floating point numbers are not guaranteed to be exact (and cannot be exact for values that can’t be expressed as a * 2b for integers a,b), both representations are correct, or, in other words: