如何打印带有数千个分隔符的浮点数?
问题描述
如何格式化十进制数,以便 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
相关文章