Float formatting and #

Is there a reason why the "alternate format" isn't documented for float conversions in http://docs.python.org/lib/typesseq-strings.html ? '%#8.f' % 1.0 keeps the decimal point while '%8.f' % 1.0 drops it. Also, for %g the alternate form keeps trailing zeroes. While at it, I noticed a difference between %f and %g: '%.3f' % 1.123 is "1.123" while '%.3g' % 1.123 is "1.12". Is that intentional? Georg

Georg Brandl wrote:
Is there a reason why the "alternate format" isn't documented for float conversions in http://docs.python.org/lib/typesseq-strings.html ?
'%#8.f' % 1.0 keeps the decimal point while '%8.f' % 1.0 drops it.
Also, for %g the alternate form keeps trailing zeroes.
While at it, I noticed a difference between %f and %g:
'%.3f' % 1.123 is "1.123" while '%.3g' % 1.123 is "1.12".
Is that intentional?
Reviewing the printf man page, this is okay since for %f, the precision is the number of digits after the decimal point while for %g, it is the number of significant digits. Still, that should be documented in the Python manual. Georg

[Georg Brandl]
... Reviewing the printf man page, this is okay since for %f, the precision is the number of digits after the decimal point while for %g, it is the number of significant digits. Still, that should be documented in the Python manual.
Well, there are a lot of little details in C's formats. Filling in the gaps people happen to notice is one way to proceed; another is to point to external docs for C's rules, like http://www-ccs.ucsd.edu/c/lib_prin.html#Print%20Functions
participants (2)
-
Georg Brandl
-
Tim Peters