mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
[3.13] gh-99880: document rounding mode for new-style formatting (GH-121481) (#126334)
The CPython uses _Py_dg_dtoa(), which does rounding to nearest with half
to even tie-breaking rule.
If that functions is unavailable, PyOS_double_to_string() fallbacks to
system snprintf(). Since CPython 3.12, build requirements include C11
compiler *and* support for IEEE 754 floating point numbers (Annex F).
This means that FE_TONEAREST macro is available and, per default,
printf-like functions should use same rounding mode as _Py_dg_dtoa().
(cherry picked from commit 7d7d56d8b1
)
Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
This commit is contained in:
parent
fd48d98df9
commit
23ab1f9ff1
1 changed files with 5 additions and 0 deletions
|
@ -589,6 +589,11 @@ The available presentation types for :class:`float` and
|
|||
| | as altered by the other format modifiers. |
|
||||
+---------+----------------------------------------------------------+
|
||||
|
||||
The result should be correctly rounded to a given precision ``p`` of digits
|
||||
after the decimal point. The rounding mode for :class:`float` matches that
|
||||
of the :func:`round` builtin. For :class:`~decimal.Decimal`, the rounding
|
||||
mode of the current :ref:`context <decimal-context>` will be used.
|
||||
|
||||
The available presentation types for :class:`complex` are the same as those for
|
||||
:class:`float` (``'%'`` is not allowed). Both the real and imaginary components
|
||||
of a complex number are formatted as floating-point numbers, according to the
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue