[docs] [issue34273] %f is confusingly associated with fixed point format

Mark Dickinson report at bugs.python.org
Mon Jul 30 10:52:32 EDT 2018


Mark Dickinson <dickinsm at gmail.com> added the comment:

FTR, here "fixed point" refers to the output representation (a decimal string) rather than the input (a floating-point binary value). The output of %f gives a *fixed* number of places after the decimal point (6 by default).

Contrast with %e, which gives a floating-point output representation.

But yes, there are probably less confusing ways to word this. Did you have a particular alternative wording in mind?

Here's the behaviour of %f for different scale values: note that the output always has the same number of digits after the point, but the number of significant digits varies.

>>> "%f" % math.pi
'3.141593'
>>> "%f" % (100.0 * math.pi)
'314.159265'
>>> "%f" % (0.01 * math.pi)
'0.031416'

And here's %e. Now it's the other way around: the number of significant digits stays the same, but the exponent changes to reflect the magnitude.

>>> "%e" % math.pi
'3.141593e+00'
>>> "%e" % (100 * math.pi)
'3.141593e+02'
>>> "%e" % (0.01 * math.pi)
'3.141593e-02'

----------
nosy: +mark.dickinson

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue34273>
_______________________________________


More information about the docs mailing list