我有一堆数字要打印给用户。每个数字都大于一百万,所以我想将其打印为1.000.000或1,000,000(这些形式中的任何一个对我都有效)。我想知道是否可以使用内置的格式化实用程序在python中以这种方式格式化整数。
答案 0 :(得分:7)
使用locale.format
。您需要先setlocale
,因为格式化样式取决于位置(例如,欧洲国家通常使用.
代替,
来分隔数字。
>>> import locale
>>> locale.setlocale(locale.LC_ALL, '')
'English_United Kingdom.1252'
>>> locale.format("%d", 1000000000, grouping=True)
'1,000,000,000'
LC_ALL
将语言环境设置为默认值,通常位于LANG
环境变量中。
答案 1 :(得分:2)
在python 3.1中,您可以使用thousands format specifier:
>>> ',.2f'.format(1234567.89)
'1,234,567.89'