如何打印带有数千个分隔符的浮点数?
问题描述
如何格式化十进制数,以便 32757121.33
显示为 32.757.121,33
?
How can I format a decimal number so that 32757121.33
will display as 32.757.121,33
?
解决方案
使用 locale.format()
:
>>> import locale
>>> locale.setlocale(locale.LC_ALL, 'German')
'German_Germany.1252'
>>> print(locale.format('%.2f', 32757121.33, True))
32.757.121,33
您可以将语言环境更改限制为显示数值(使用 locale.format()
、locale.str()
等时)并保留其他语言环境设置不受影响:
You can restrict the locale changes to the display of numeric values (when using locale.format()
, locale.str()
etc.) and leave other locale settings unaffected:
>>> locale.setlocale(locale.LC_NUMERIC, 'English')
'English_United States.1252'
>>> print(locale.format('%.2f', 32757121.33, True))
32,757,121.33
>>> locale.setlocale(locale.LC_NUMERIC, 'German')
'German_Germany.1252'
>>> print(locale.format('%.2f', 32757121.33, True))
32.757.121,33
相关文章