diff options
author | Mark Dickinson <dickinsm@gmail.com> | 2009-10-08 20:06:27 (GMT) |
---|---|---|
committer | Mark Dickinson <dickinsm@gmail.com> | 2009-10-08 20:06:27 (GMT) |
commit | 7b5c826d1a33a7223690a074159022a7c0fcd9dd (patch) | |
tree | 399efe0ded1c60bd359efe08a0d4bf9002831bc4 | |
parent | d08fb83777eb4198b6a6573edd74589da1d8ecab (diff) | |
download | cpython-7b5c826d1a33a7223690a074159022a7c0fcd9dd.zip cpython-7b5c826d1a33a7223690a074159022a7c0fcd9dd.tar.gz cpython-7b5c826d1a33a7223690a074159022a7c0fcd9dd.tar.bz2 |
Merged revisions 75290 via svnmerge from
svn+ssh://pythondev@www.python.org/python/branches/py3k
................
r75290 | mark.dickinson | 2009-10-08 21:05:48 +0100 (Thu, 08 Oct 2009) | 9 lines
Merged revisions 75289 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r75289 | mark.dickinson | 2009-10-08 21:02:25 +0100 (Thu, 08 Oct 2009) | 2 lines
Issue #7051: Clarify behaviour of 'g' and 'G'-style formatting.
........
................
-rw-r--r-- | Doc/library/string.rst | 32 |
1 files changed, 25 insertions, 7 deletions
diff --git a/Doc/library/string.rst b/Doc/library/string.rst index ae068a9..2f7641a 100644 --- a/Doc/library/string.rst +++ b/Doc/library/string.rst @@ -423,15 +423,33 @@ The available presentation types for floating point and decimal values are: | ``'F'`` | Fixed point. Same as ``'f'``, but converts ``nan`` to | | | ``NAN`` and ``inf`` to ``INF``. | +---------+----------------------------------------------------------+ - | ``'g'`` | General format. This prints the number as a fixed-point | - | | number, unless the number is too large, in which case | - | | it switches to ``'e'`` exponent notation. Infinity and | - | | NaN values are formatted as ``inf``, ``-inf`` and | - | | ``nan``, respectively. | + | ``'g'`` | General format. For a given precision ``p >= 1``, | + | | this rounds the number to ``p`` significant digits and | + | | then formats the result in either fixed-point format | + | | or in scientific notation, depending on its magnitude. | + | | | + | | The precise rules are as follows: suppose that the | + | | result formatted with presentation type ``'e'`` and | + | | precision ``p-1`` would have exponent ``exp``. Then | + | | if ``-4 <= exp < p``, the number is formatted | + | | with presentation type ``'f'`` and precision | + | | ``p-1-exp``. Otherwise, the number is formatted | + | | with presentation type ``'e'`` and precision ``p-1``. | + | | In both cases insignificant trailing zeros are removed | + | | from the significand, and the decimal point is also | + | | removed if there are no remaining digits following it. | + | | | + | | Postive and negative infinity, positive and negative | + | | zero, and nans, are formatted as ``inf``, ``-inf``, | + | | ``0``, ``-0`` and ``nan`` respectively, regardless of | + | | the precision. | + | | | + | | A precision of ``0`` is treated as equivalent to a | + | | precision of ``1``. | +---------+----------------------------------------------------------+ | ``'G'`` | General format. Same as ``'g'`` except switches to | - | | ``'E'`` if the number gets to large. The representations | - | | of infinity and NaN are uppercased, too. | + | | ``'E'`` if the number gets too large. The | + | | representations of infinity and NaN are uppercased, too. | +---------+----------------------------------------------------------+ | ``'n'`` | Number. This is the same as ``'g'``, except that it uses | | | the current locale setting to insert the appropriate | |