作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要用西类牙语千位分隔符(点而不是逗号)格式化数字。使用语言环境,我可以获得英语的分隔符:
>>> import locale
>>> locale.setlocale(locale.LC_ALL, 'en_US')
'en_US'
>>> print(locale.format("%d", 10000000, grouping=True))
10,000,000
但是,如果我尝试获取西类牙语分隔符,它不起作用:
>>> locale.setlocale(locale.LC_ALL, 'es_ES')
'es_ES'
>>> print(locale.format("%d", 10000000, grouping=True))
10000000
关于如何获得预期结果的任何想法? (10.000.000)。我正在使用 python 3.4。
最佳答案
我认为 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()
获取更多信息:
In [18]: locale.localeconv()
Out[18]:
{'currency_symbol': 'Eu',
'decimal_point': ',',
'frac_digits': 2,
'grouping': [127],
'int_curr_symbol': 'EUR ',
'int_frac_digits': 2,
'mon_decimal_point': ',',
'mon_grouping': [3, 3, 0],
'mon_thousands_sep': '.', # <----- NB
'n_cs_precedes': 0,
'n_sep_by_space': 1,
'n_sign_posn': 1,
'negative_sign': '-',
'p_cs_precedes': 0,
'p_sep_by_space': 1,
'p_sign_posn': 1,
'positive_sign': '',
'thousands_sep': ''} # <----- NB
关于python - 如何在 python 中使用西类牙语千分组格式化数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34147025/
我是一名优秀的程序员,十分优秀!