STINNER Victor <[EMAIL PROTECTED]> added the comment: Python 2.5.1 (r251:54863, Jul 31 2008, 23:17:40) >>> reduce(lambda x,y: x*32768.0 + y, [256, 0, 0, 1, 32767]) 2.9514790517935283e+20 >>> float(295147905179352891391L) 2.9514790517935289e+20
Python 2.7a0 (trunk:67679M, Dec 9 2008, 14:29:12) >>> reduce(lambda x,y: x*32768.0 + y, [256, 0, 0, 1, 32767]) 2.9514790517935283e+20 >>> float(295147905179352891391L) 2.9514790517935283e+20 Python 3.1a0 (py3k:67652M, Dec 9 2008, 13:08:19) >>> float(295147905179352891391) 2.9514790517935283e+20 >>> digits=[256, 0, 0, 1, 32767]; x=0 >>> for d in digits: ... x*=32768.0 ... x+= d ... >>> x 2.9514790517935283e+20 All results are the same, except float(295147905179352891391L) in Python 2.5!? Python 2.5 rounds correctly: Python 2.5.1 (r251:54863, Jul 31 2008, 23:17:40) >>> x=295147905179352891391L >>> long(float(long(x))) - x 1L _______________________________________ Python tracker <[EMAIL PROTECTED]> <http://bugs.python.org/issue3166> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com