打印数字时添加千位分隔符

时间:2013-09-20 09:52:50

标签: python optimization numbers decimal

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

例如:

number = 23543
second = 68471243

我想让print()像这样。

  

23543
  68471243

我希望这解释得足够或者添加评论。 任何帮助表示赞赏!

2 个答案:

答案 0 :(得分:8)

如果您只需要将逗号添加为千位分隔符并使用Python 3:

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

这使用str-objects的format-method。 {0}是字符串中的占位符,:表示应该修改内容。逗号表示逗号应该用作千位分隔符,而g用于一般数字。

68,471,24,3对我来说有点奇怪。这只是一个错字吗?

Python 3 str.format()

Python 3 Format String Syntax

答案 1 :(得分:1)

最简单的方法是将语言环境设置为en_US。

示例:

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)

打印:

23,543
68,471,243