将“十进制标记"千位分隔符添加到数字

问题描述

如何在 Python 中将 1000000 格式化为 1.000.000?'.' 在哪里是小数点千位分隔符.

How do I format 1000000 to 1.000.000 in Python? where the '.' is the decimal-mark thousands separator.


解决方案

如果要添加千位分隔符,可以这样写:

If you want to add a thousands separator, you can write:

>>> '{0:,}'.format(1000000)
'1,000,000'

但它只适用于 Python 2.7 及更高版本.

But it only works in Python 2.7 and above.

请参阅格式字符串语法.

在旧版本中,您可以使用 locale.format():

In older versions, you can use locale.format():

>>> import locale
>>> locale.setlocale(locale.LC_ALL, '')
'en_AU.utf8'
>>> locale.format('%d', 1000000, 1)
'1,000,000'

使用 locale.format() 的额外好处是它将使用您的语言环境的千位分隔符,例如

the added benefit of using locale.format() is that it will use your locale's thousands separator, e.g.

>>> import locale
>>> locale.setlocale(locale.LC_ALL, 'de_DE.utf-8')
'de_DE.utf-8'
>>> locale.format('%d', 1000000, 1)
'1.000.000'

相关文章