使用Python3字符串格式化迷你语言打印带有punction的大整数

时间:2015-11-29 11:16:45

标签: python python-3.x number-formatting

我想在一个大数字中的每三个数字之后得一个点(例如4.100.200.300)。

>>> x = 4100200300
>>> print('{}'.format(x))
4100200300

此问题特定于Pythons字符串格式化迷你语言。

1 个答案:

答案 0 :(得分:6)

只有一个千位分隔符。

  

','选项表示使用逗号分隔千位分隔符。

docs

示例:

'{:,}'.format(x) # 4,100,200,300

如果您需要使用点作为千位分隔符,请考虑使用'.'替换逗号或正确设置区域设置( LC_NUMERIC 类别)。

您可以使用this列表查找正确的区域设置。请注意,您必须使用n整数表示形式进行区域设置感知格式化:

import locale
locale.setlocale(locale.LC_NUMERIC, 'de_DE') # or da_DK, or lt_LT, or mn_MN, or ...
'{:n}'.format(x) # 4.100.200.300

在我看来,前一种方法更简单:

'{:,}'.format(x).replace(',', '.') # 4.100.200.300

format(x, ',').replace(',', '.') # 4.100.200.300