Python Glossary English

все Python 3localeфункция

locale.currency()

числа и деньги

Форматирует сумму денег по правилам LC_MONETARY: символ валюты, его место и число знаков после запятой.

Синтаксис

locale.currency(val, symbol=True, grouping=False, international=False)

В локали 'C' — а она действует, пока не вызван setlocale() — функция не работает вовсе: ValueError «Currency formatting is not possible using the 'C' locale». Значит, сначала setlocale(LC_MONETARY, ...) с установленной в системе локалью, а результат будет разным на разных машинах. Для денег в программе обычно надёжнее Decimal и явный формат.

Примеры

import locale
try:
    locale.setlocale(locale.LC_MONETARY, 'ru_RU.UTF-8')
    print(locale.currency(1234.5, grouping=True))  # → ? 1 234,50 руб.
except locale.Error:
    print('локали ru_RU нет')  # → ?
import locale
locale.currency(10)  # → ValueError: Currency formatting is not possible using the 'C' locale.

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности