Issue 33657: float addition rounding error (original) (raw)
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'