Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork32k
gh-134887: Add references tolocale
module for locale-aware number formatting references instring
module docs#134888
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
base:main
Are you sure you want to change the base?
Uh oh!
There was an error while loading.Please reload this page.
Conversation
python-cla-botbot commentedMay 29, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
locale
module for locale-aware number formatting references instring
module docslocale
module for locale-aware number formatting references instring
module docslocale
module for locale-aware number formatting references instring
module docslocale
module for locale-aware number formatting references instring
module docsDoc/library/string.rst Outdated
For a locale aware separator, use the ``'n'`` presentation type instead. | ||
For a locale-aware separator, use the ``'n'`` presentation type instead. Note | ||
that the locale setting for numeric values must first be set using the | ||
:mod:`locale` module, *e.g.,* ``locale.setlocale(locale.LC_NUMERIC, 'en_US')``. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
stefmolinMay 29, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
There are two other occurrences of "e.g." in this document that pre-date my changes. Would you like me to update those as well?
Uh oh!
There was an error while loading.Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
I'm not sure we need to add a reference to setting the locale, since the text already says it's local aware.
For a locale-aware separator, use the ``'n'`` presentation type instead. | ||
Note that the locale setting for numeric values must first be set using | ||
the :mod:`locale` module, for example, | ||
``locale.setlocale(locale.LC_NUMERIC, 'en_US')``. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Why refer to this here? At most it just belongs in then
section.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
When I was troubleshooting why this wasn't working for me, I searched this page in the docs for "locale aware" and "locale-aware" – this was the only hit, so I put this here as well to make sure that all spots a person may learn about this in the docs include all the information to use it directly. Most people won't read the entire page in the docs before using something.
| | digit group separators. | | ||
| | digit group separators. Note that the default locale is | | ||
| | not the system locale, and therefore, you must set, at a | | ||
| | minimum, the ``LC_NUMERIC`` category (see the | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
This isn't true, is it? I'm referring to the wording "must set": shouldn't it be "can set".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
On my machine, nothing happens if I usen
, without settingLC_NUMERIC
, so it is "must set" for me. I'm happy to adjust the wording if there are cases where it is set, but I haven't seen it.
FWIW, I'm seeing that the C locale seems to be very minimal anddoesn't have a thousands separator. Since that is what the default is, instead of the system locale, the thousands separator won't be set until the user setsLC_NUMERIC
, meaning it is "must set" for everyone. I'm new to the C locale as well though, so let me know if that isn't the case.
While this may be obvious to a core CPython developer, it was not obvious to me or my friend, who is a Python trainer. We have each been using Python for many years. My friend routinely explores parts of the Python documentation to learn new things and share with the community. He found out about the When I tried the I searched some more to discover why it wasn't using a thousands separator for the format. This time Stack Overflow led me to the real reason behind it not working: I needed to set the |
Uh oh!
There was an error while loading.Please reload this page.
Add references to
locale
module for locale-aware number formatting references instring
module docs to avoid users thinking that the locale doesn't have a thousands separator for example.n
in the format-specifier should reference locale-setting #134887