Подтвердить что ты не робот

Python - конвертировать код валюты в свой знак

В Python, как я могу конвертировать код валюты в свой знак?

Например, USD будет преобразован в $, а JPY будет преобразован в ¥.

Если нет общего способа сделать это, есть ли в Интернете какой-либо простой словарь из них?

Спасибо.

4b9b3361

Ответ 1

Используя модуль locale:

import locale

locales=('en_AU.utf8', 'en_BW.utf8', 'en_CA.utf8',
    'en_DK.utf8', 'en_GB.utf8', 'en_HK.utf8', 'en_IE.utf8', 'en_IN', 'en_NG',
    'en_PH.utf8', 'en_US.utf8', 'en_ZA.utf8',
    'en_ZW.utf8', 'ja_JP.utf8')
for l in locales:
    locale.setlocale(locale.LC_ALL, l)
    conv=locale.localeconv()
    print('{ics} ==> {s}'.format(ics=conv['int_curr_symbol'],
                                 s=conv['currency_symbol']))

дает:

AUD  ==> $
BWP  ==> Pu
CAD  ==> $
DKK  ==> kr
GBP  ==> £
HKD  ==> HK$
EUR  ==> €
INR  ==> ₨
NGN  ==> ₦
PHP  ==> Php
USD  ==> $
ZAR  ==> R
ZWD  ==> Z$
JPY  ==> ¥

Обратите внимание, что вам нужна информация о локали, установленная на вашем компьютере. На Ubuntu это означает наличие правильных пакетов language-pack-*.

В системах * nix вы можете найти список известных локалей (например, en_GB.utf8) с помощью

locale -a

Я не знаю, как получить этот список из Python (без использования subprocess).

Ответ 2

Как насчет Babel?

from babel import numbers
print numbers.format_currency(1500, 'USD', locale='en') # => $1,500.00
print numbers.format_currency(1500, 'GBP', locale='fr_FR') # => 1 500,00 £UK

Ответ 3

Используйте dict.

>>> currencies = {'USD': '$', 'AUD': '$', 'EUR': '€'}
>>> print currencies['USD']
$
>>> print currencies['AUD']
$
>>> print currencies['EUR']
€
>>> print currencies['GBP']
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'GBP'

Ответ 4

Помогает ли эта помощь?

Эта страница представляет собой список символов, используемых в повседневной жизни, чтобы обозначить, что число является денежной величиной, такой как знак доллара "$", знак фунта "£", и знак евро ".

ВАЖНО - Мы также поддерживаем полный список трехбуквенных кодов на международном уровне валюта от другой, например, доллар США, для доллара США," GBP "за фунт Соединенного Королевства и" EUR "для евро. Чтобы увидеть полный список всех этих кодов, см. наш XE.com - ISO 4217 Тип Валюта Список кодов.

Вы должны иметь возможность создавать полезные биты для сопоставления 3-буквенных кодов для соответствующего символа валюты Юникода.

Ответ 5

Forex-python пакет Forex-python преобразует код валюты в его знак.

>>> from forex_python.converter import CurrencyCodes
>>> c = CurrencyCodes()
>>> print c.get_symbol('GBP')
£

И вы можете конвертировать сумму из одной валюты в другую.

>>> c= CurrencyRates()
>>> c.convert('USD', 'INR', 10)
674.73

попробуй