все Python 3localeфункция
locale.format_string()
числа и деньги
Форматирует числа %-шаблоном по правилам текущей LC_NUMERIC: местный десятичный разделитель и, по желанию, группировка тысяч.
Синтаксис
locale.format_string(format, val, grouping=False, monetary=False)
Шаблон — старый %-синтаксис, а не {} от str.format: '%.2f', '%d'. grouping=True работает только в локали с группировкой, а в 'C', действующей до setlocale(), 1234567 остаётся без пробелов — функция сама локаль не включает. Для нескольких значений передают кортеж, как с оператором %.
Примеры
import locale
print(locale.format_string('%.2f', 1234567.891, grouping=True)) # → 1234567.89 — в C группировки нет
print(locale.format_string('%s: %d', ('итого', 5))) # → итого: 5
print(f'{1234567:,}') # → 1,234,567 — группировка без локали
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности