floating point in 2.0
Michael P. Soulier
msoulier at storm.ca
Mon Jun 4 23:28:54 EDT 2001
Greetings people.
My apologies if this has been covered.
In Python 1.5.2, I could do this:
good = (0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0)
I could then get back exactly this when I output the value of "good".
However, with Python 2.0, I get this:
>>> good
(0.0, 0.10000000000000001, 0.20000000000000001, 0.29999999999999999,
0.40000000000000002, 0.5, 0.59999999999999998, 0.69999999999999996,
0.80000000000000004, 0.90000000000000002, 1.0)
Now, I'm assuming that this has something to do with the way that Python
2.0 stores floating-point numbers, but this could get confusing during
debugging.
Could someone explain this behaviour?
Much appreciated and cheers,
Mike
--
Michael P. Soulier <msoulier at storm.ca>
"With sufficient thrust, pigs fly just fine. However, this is not necessarily a
good idea. It is hard to be sure where they are going to land, and it could be
dangerous sitting under them as they fly overhead." -- RFC 1925
More information about the Python-list
mailing list