Raymond Hettinger <raymond.hettin...@gmail.com> added the comment: The math hasn't changed. The underlying values haven't changed. What did change what that the __str__ now displays to full precision. Formerly, it used to display a rounded result that didn't reflect the actual stored value.
$ python2.7 Python 2.7.15 (v2.7.15:ca079a3ea3, Apr 29 2018, 20:59:26) [GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> z = 1787.4 + 6.2 >>> repr(z) '1793.6000000000001' >>> str(z) '1793.6' $ python3.6 Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 03:03:55) [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> z = 1787.4 + 6.2 >>> repr(z) '1793.6000000000001' >>> str(z) '1793.6000000000001' ---------- nosy: +rhettinger resolution: -> not a bug stage: -> resolved status: open -> closed _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue33657> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com