使用 Python3 字符串格式迷你语言打印带有标点符号的大整数
Print a big integer with punctions with Python3 string formatting mini-language
我想在大数的每三位数字后加一个点(例如 4.100.200.300
)。
>>> x = 4100200300
>>> print('{}'.format(x))
4100200300
此问题特定于 Python 字符串格式化迷你语言。
只有一个可用的千位分隔符。
The ','
option signals the use of a comma for a thousands separator.
(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
我想在大数的每三位数字后加一个点(例如 4.100.200.300
)。
>>> x = 4100200300
>>> print('{}'.format(x))
4100200300
此问题特定于 Python 字符串格式化迷你语言。
只有一个可用的千位分隔符。
The
','
option signals the use of a comma for a thousands separator.
(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