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]

Reply via email to