关于python:在打印数字时添加千位分隔符

Adding thousand separator while printing a number

本问题已经有最佳答案,请猛点这里访问。

我不知道这个问题的"名称",所以它可能是一个不正确的标题,但如果我有一个数字,这个问题很简单。

例如:

1
2
number = 23543
second = 68471243

我想把它做成这样。

23,543
68,471,243

我希望这能解释得足够多,或者添加评论。感谢您的帮助!


如果只需要添加逗号作为千位分隔符,并使用python 3:

1
print("{0:,g}".format(number))

这将使用str对象的格式方法。_0是字符串中的占位符,:表示应该修改内容。逗号表示逗号应用作千位分隔符,G表示普通数字。

68471,24,3对我来说有点奇怪。只是打字错误吗?

python 3 str.format()。

python 3格式字符串语法


最简单的方法是将区域设置为en-u-us。

例子:

1
2
3
4
5
6
import locale
locale.setlocale(locale.LC_ALL, 'en_US')
number = 23543
second = 68471243
print locale.format("%d", number, grouping=True)
print locale.format("%d", second, grouping=True)

印刷品:

1
2
23,543
68,471,243