我想在一个大数字中的每三个数字之后得一个点(例如4.100.200.300
)。
>>> x = 4100200300
>>> print('{}'.format(x))
4100200300
此问题特定于Pythons字符串格式化迷你语言。
答案 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