Python - 将货币代码转换为符号
在Python中,我该如何把货币代码转换成它的符号呢?
比如,USD
会被转换成$
,而JPY
会被转换成¥
。
如果没有通用的方法来做到这一点,网上有没有什么简单的字典可以参考呢?
谢谢。
6 个回答
7
Forex-python 这个包可以把货币代码转换成它的符号。
>>> from forex_python.converter import CurrencyCodes
>>> c = CurrencyCodes()
>>> print c.get_symbol('GBP')
£
而且你还可以把一种货币的金额转换成另一种货币。
>>> c= CurrencyRates()
>>> c.convert('USD', 'INR', 10)
674.73
试试看吧
18
那
from babel import numbers
print numbers.get_currency_symbol('USD', locale='en') # => $1,500.00
print numbers.get_currency_symbol('GBP', locale='fr_FR') # => 1 500,00 £UK
18
使用 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
模块)。