Why does round in the following code:
>>> round(0.49999999999999997)
0.0
>>> round(0.49999999999999998)
1.0
>>> round(1.4999999999999998)
1.0
>>> round(1.4999999999999999)
2.0
round 0.49999999999999998
and 1.4999999999999999
up instead of down, and why does this behavior happen for 0.49999999999999998
by one 9 after the decimal later than for 1.4999999999999998
?