Eryk Sun added the comment:

A CPython float uses the platform's double-precision floating point. The 
significand of a double has 53 bits of precision, which is 15 decimal digits of 
precision. However, uniquely representing a double in decimal requires 17 
digits, which is why the str and repr format is extended with the otherwise 
insignificant "65" digits. For output, you can format the number with 
sys.float_info.dig decimal digits. For example:

    >>> sys.float_info.dig
    15
    >>> '%0.*g' % (sys.float_info.dig, 8/3)
    '2.66666666666667'

----------
nosy: +eryksun

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue28345>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to