import locale locale.localeconv()
Функция localeconv()
модуля locale
возвращает базу данных местных соглашений в виде словаря.
Словарь имеет следующие строки в качестве ключей:
Категория | Ключ | Объяснение |
LC_NUMERIC | 'decimal_point' | Десятичный знак |
'grouping' | Последовательность чисел, указывающая, относительно каких позиций ожидается 'thousands_sep'. Если последовательность заканчивается CHAR_MAX, дальнейшая группировка не выполняется. Если последовательность заканчивается 0, последний размер группы используется повторно. | |
'thousands_sep' | Символ используется между группами. | |
LC_MONETARY | 'int_curr_symbol' | Международный символ валюты. |
'currency_symbol' | Символ местной валюты | |
'p_cs_precedes/n_cs_precedes' | Предшествует ли символ валюты значению (для положительных или отрицательных значений). | |
'p_sep_by_space/n_sep_by_space' | Является ли символ валюты отделенным от значения пробелом (для положительных или отрицательных значений). | |
'mon_decimal_point' | Десятичная точка используется для денежных значений. | |
'frac_digits' | Количество дробных цифр, используемых при локальном форматировании денежных значений. | |
'int_frac_digits' | Количество дробных цифр, используемых в международном форматировании денежных значений. | |
'mon_thousands_sep' | Разделитель групп, используемый для денежных значений | |
'mon_grouping' | Эквивалент 'grouping', используемый для денежных значений. | |
'positive_sign' | Символ, используемый для обозначения положительного денежного значения. | |
'negative_sign' | Символ, используемый для обозначения отрицательной денежной стоимости. | |
'p_sign_posn/n_sign_posn' | Положение знака (для положительных или отрицательных значений). |
Все числовые значения могут быть установлены в CHAR_MAX
, что указывает об отсутствии настроек последних в этой локали.
Возможные значения для p_sign_posn
и n_sign_posn
приведены ниже.
Значение | Объяснение |
0 | Валюта и стоимость заключены в круглые скобки. |
1 | Знак должен предшествовать значению и символу валюты. |
2 | Знак должен следовать за значением и символом валюты. |
3 | Знак должен непосредственно предшествовать значению. |
4 | Знак должен следовать сразу за значением. |
CHAR_MAX | Ничего не указано в этой локали. |
Функция locale.localeconv()
временно устанавливает языковой стандарт LC_CTYPE
на языковой стандарт LC_NUMERIC
или языковой стандарт LC_MONETARY
, если языковые стандарты отличаются, а числовые или денежные строки не являются ASCII.
>>> import locale >>> std = locale.localeconv() # Текущее значение знака валюты >>> std['currency_symbol'] # '' # !Временно установим знак валюты >>> std['currency_symbol'] = '$' >>> std['currency_symbol'] # '$' # Текущее значение количества дробных цифр >>> std['frac_digits'] # 127 # !Временно установим значение # количество дробных цифр >>> std['frac_digits'] = 2 >>> std['frac_digits'] 2