Python - 将货币代码转换为符号

22 投票
6 回答
24914 浏览
提问于 2025-04-16 08:44

在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 模块)。

撰写回答