如何在python中使用西班牙语千分组来格式化数字?

2024-10-03 23:28:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要用西班牙千分位符(点而不是逗号)来格式化一个数字。使用locale,我可以获得英语分隔符:

>>> import locale
>>> locale.setlocale(locale.LC_ALL, 'en_US')
'en_US'
>>> print(locale.format("%d", 10000000, grouping=True))
10,000,000

但是,如果我试图获得西班牙分离机,它是行不通的:

^{pr2}$

对如何获得预期结果有什么看法?(10.000.000)。我使用的是python3.4。在


Tags: importtrueformat数字alllocaleenus
2条回答

我认为es_ES数字格式没有包含千位分隔符。但是,货币格式确实:

In [16]: locale.setlocale(locale.LC_ALL, 'es_ES')
In [17]: print(locale.format('%d', 10000000, grouping=True, monetary=True))
10.000.000

您可以通过调用locale.localeconv()获取更多信息:

^{pr2}$

我在Python2.7(在Windows中)中尝试了这个方法,它似乎可以工作,但是我的语言环境设置有点不同:

>>>locale.setlocale(locale.LC_ALL, 'esp_esp')
'Spanish_Spain.1252'
>>>print(locale.format('%d', 10000000, grouping=True))
10.000.000

您使用哪个Python版本?(这可能不是答案,但我无法使用评论。对不起!)在

相关问题 更多 >