https://github.com/python/cpython/commit/47723af4e74ae1a65108837fe15795e2f70f9d02
commit: 47723af4e74ae1a65108837fe15795e2f70f9d02
branch: main
author: Stefanie Molin <[email protected]>
committer: encukou <[email protected]>
date: 2026-05-19T23:10:39+02:00
summary:
gh-134887: Add references to `locale` module for locale-aware number formatting
references in `string` module docs (GH-134888)
files:
M Doc/library/string.rst
diff --git a/Doc/library/string.rst b/Doc/library/string.rst
index 08ccdfa3f454f8..be968a3c53d843 100644
--- a/Doc/library/string.rst
+++ b/Doc/library/string.rst
@@ -472,7 +472,9 @@ of a number respectively. It can be one of the following:
| | this option is not supported. |
+---------+----------------------------------------------------------+
-For a locale aware separator, use the ``'n'`` presentation type instead.
+For a locale-aware separator, use the ``'n'``
+:ref:`float presentation type <n-format-float>` or
+:ref:`integer presentation type <n-format-integer>` instead.
.. versionchanged:: 3.1
Added the ``','`` option (see also :pep:`378`).
@@ -518,9 +520,14 @@ The available integer presentation types are:
| | In case ``'#'`` is specified, the prefix ``'0x'`` will |
| | be upper-cased to ``'0X'`` as well. |
+---------+----------------------------------------------------------+
- | ``'n'`` | Number. This is the same as ``'d'``, except that it uses |
+ | ``'n'`` | .. _n-format-integer: |
+ | | |
+ | | Number. This is the same as ``'d'``, except that it uses |
| | the current locale setting to insert the appropriate |
- | | digit group separators. |
+ | | digit group separators. Note that the default locale is |
+ | | not the system locale. Depending on your use case, you |
+ | | may wish to set :const:`~locale.LC_NUMERIC` with |
+ | | :func:`locale.setlocale` before using ``'n'``. |
+---------+----------------------------------------------------------+
| None | The same as ``'d'``. |
+---------+----------------------------------------------------------+
@@ -603,10 +610,15 @@ The available presentation types for :class:`float` and
| | ``'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 |
+ | ``'n'`` | .. _n-format-float: |
+ | | |
+ | | Number. This is the same as ``'g'``, except that it uses |
| | the current locale setting to insert the appropriate |
- | | digit group separators |
- | | for the integral part of a number. |
+ | | digit group separators for the integral part of a |
+ | | number. Note that the default locale is not the system |
+ | | locale. Depending on your use case, you may wish to set |
+ | | :const:`~locale.LC_NUMERIC` with |
+ | | :func:`locale.setlocale` before using ``'n'``. |
+---------+----------------------------------------------------------+
| ``'%'`` | Percentage. Multiplies the number by 100 and displays |
| | in fixed (``'f'``) format, followed by a percent sign. |
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]