Python set russian locale

Python set russian locale

При форматировании чисел Python по умолчанию использует англосаксонскую систему, при которой разряды целого числа отделяются друг от друга запятыми, а дробная часть от целой отделяется точкой. В континентальной Европе, например, используется другая система, при которой разряды разделяются точкой, а дробная и целая часть — запятой:

# англосаксонская система 1,234.567 # европейская система 1.234,567

И для решения проблемы форматирования под определенную культуру в Python имеется встроенный модуль locale .

Для установки локальной культуры в модуле locale определена функция setlocale() . Она принимает два параметра:

Первый параметр указывает на категорию, к которой применяется функция — к числам, валютам или и числам, и валютам. В качестве значения для параметра мы можем передавать одну из следующих констант:

  • LC_ALL : применяет локализацию ко всем категориям — к форматированию чисел, валют, дат и т.д.
  • LC_NUMERIC : применяет локализацию к числам
  • LC_MONETARY : применяет локализацию к валютам
  • LC_TIME : применяет локализацию к датам и времени
  • LC_CTYPE : применяет локализацию при переводе символов в верхний или нижний регистр
  • LC_COLLIATE : применяет локаль при сравнении строк

Второй параметр функции setlocale указывает на локальную культуру, которую надо использовать. На ОС Windows можно использовать код страны по ISO из двух символов, например, для США — «us», для Германии — «de», для России — «ru». Но на MacOS необходимо указывать код языка и код страны, например, для английского в США — «en_US», для немецкого в Германии — «de_DE», для русского в России — «ru_RU». По умолчанию фактически используется культура «en_US».

Непосредственно для форматирования чисел и валют модуль locale предоставляет две функции:

Оцените статью