This is just an attempt to put the
http://groups.google.com/group/comp.lang.python/browse_thread/thread/a008af1ac2968833#
discussion at a correct level.

With Python 2.7 a new float number representation (the David Gay's
algorithm)
has been introduced. If this is well honored in Python 2.7, it
seems to me, there are some missmatches in the Py3 series.

>>> sys.version
'2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit
(Intel)]'
>>> 0.1
0.10000000000000001
>>> print 0.1
0.1
>>> 1.1 * 1.1
1.2100000000000002
>>> print 1.1 * 1.1
1.21
>>> print repr(1.1 * 1.1)
1.2100000000000002
>>>


>>> sys.version
2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)]
>>>
>>> 0.1
0.1
>>> print 0.1
0.1
>>> 1.1 * 1.1
1.21
>>> print 1.1 * 1.1
1.21
>>> print repr(1.1 * 1.1)
1.2100000000000002
>>>


>>> sys.version
'3.1.4 (default, Jun 12 2011, 15:05:44) [MSC v.1500 32 bit (Intel)]'
>>> 0.1
0.1
>>> print(0.1)
0.1
>>> 1.1 * 1.1
1.2100000000000002
>>> print(1.1 * 1.1)
1.21
>>> print(repr(1.1 * 1.1))
1.2100000000000002
>>> '{:g}'.format(1.1 * 1.1)
'1.21'



>>> sys.version
'3.2.2 (default, Sep  4 2011, 09:51:08) [MSC v.1500 32 bit (Intel)]'
>>> 0.1
0.1
>>> print(0.1)
0.1
>>> 1.1 * 1.1
1.2100000000000002
>>> print (1.1 * 1.1)
1.2100000000000002
>>> print(repr((1.1 * 1.1)))
1.2100000000000002
>>>
>>> '{:g}'.format(1.1 * 1.1)
'1.21'
>>>

jmf
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to