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

7

我希望在一个大数字中每三个数字后面加上一个小数点(例如:4.100.200.300)。

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

这个问题特定于Python中的字符串格式化小语言。

1个回答

7

只有一个可用的千位分隔符。

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

(文档)

示例:

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

如果您需要使用句点作为千位分隔符,请考虑将逗号替换为“'.'”或相应地设置区域设置(LC_NUMERIC类别)。 您可以使用此列表找到合适的区域设置。请注意,您必须使用具有区域设置意识的 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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接