[docs] [issue22546] Wrong default precision in documentation for format
Terry J. Reedy
report at bugs.python.org
Fri Oct 3 22:23:18 CEST 2014
Terry J. Reedy added the comment:
"The precision is a decimal number indicating how many digits should be displayed ... before and after the decimal point for a floating point value formatted with 'g' or 'G'. It seems that str, repr, and '' are using precision 16, and the doc should be changed to match.
>>>str(.314159265358979323846264338327950288419)
'0.3141592653589793' # 16, not counting 0.
>>> '{}'.format(3.14159265358979323846264338327950288419)
'3.141592653589793'
>>> '{:.16g}'.format(3.14159265358979323846264338327950288419)
'3.141592653589793'
>>> str(3.14159265358979323846264338327950288419)
'3.141592653589793' # 16
But I discovered this 'anomaly' (bug?)
>>> str(31.4159265358979323846264338327950288419)
'31.41592653589793'
>>> str(33.14159265358979323846264338327950288419)
'33.1415926535898' # precision 15
I expected this last to be
'33.14159265358979'
as 32... rounds down, not up.
repr and '{}'.format act the same.
----------
nosy: +terry.reedy
stage: -> needs patch
type: -> behavior
versions: +Python 3.4, Python 3.5 -Python 3.3
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue22546>
_______________________________________
More information about the docs
mailing list