Вместо того, чтобы вручную форматировать значения в вашем списке в строки, содержащие представления валют, рекомендуется использовать стандартные библиотечные функции, предназначенные именно для этой работы. Здесь вы можете использовать функции из модуля locale
. Функции предоставляют вам доступ к нескольким удобным функциям, например, для представления дат, времени и валют в формате, который соответствует текущим настройкам локали. Локаль может быть установлена операционной системой компьютера, на котором выполняется программа, или программистом самой программы.
Первое, что вам нужно сделать, это загрузить модуль locale
. Затем вы устанавливаете настройку локали либо на системную настройку по умолчанию, либо на выбранную вами локаль:
import locale
locale.setlocale(locale.LC_ALL, "") # to use the system-wide locale setting
locale.setlocale(locale.LC_ALL, "en_US.utf-8") # to use the USA locale
Теперь вы можете использовать функцию currency
для форматирования значения с использованием текущей настройки локали:
lst = [200, 4002, 4555, 7533]
cur_lst = [locale.currency(val) for val in lst]
print(cur_list)
['$200.00', '$4002.00', '$4555.00', '$7533.00']
Функция currency
имеет три параметра, которые позволяют настроить выход. Опция grouping
вставит соответствующие групповые метки для разделения тысяч, миллионов и т. Д.: * 10101 *
locale.currency(123456, grouping=True)
'$123,456.00'
locale.currency(123456, grouping=False) # the default
'$123456.00'
В опции international
вместо символа валюты используется международная стандартная аббревиатура валюты:
locale.currency(123456, international=True)
'USD 123456.00'
locale.currency(123456, international=False) # the default
'$123456.00'
Наконец, установка для symbol
опции True
подавляет отображение символа валюты в целом.