在数字字符串中添加逗号
我在程序中有一个数值,最后会输出一个保留两位小数的数字,像这样:
print ("Total cost is: ${:0.2f}".format(TotalAmount))
有没有办法在小数点左边每三位数字插入一个逗号呢?
比如说,10000.00
变成 10,000.00
,或者 1000000.00
变成 1,000,000.00
。
11 个回答
18
如果你的TotalAmount
是表示钱的话,可以使用locale.currency
这个功能。它在Python 2.7之前的版本也可以用:
>>> locale.setlocale(locale.LC_ALL, '')
'en_US.utf8'
>>> locale.currency(123456.789, symbol=False, grouping=True)
'123,456.79'
注意:它在C
这个地区设置下是不能用的,所以在调用之前你需要先设置其他地区的设置。
36
如果你使用的是Python 3或更高版本,这里有一个更简单的方法来插入逗号:
第一种方法
value = -12345672
print (format (value, ',d'))
或者另一种方法
value = -12345672
print ('{:,}'.format(value))
154
在Python 2.7和3.x版本中,你可以使用格式语法:
来处理数字。
>>> total_amount = 10000
>>> print("{:,}".format(total_amount))
10,000
>>> print("Total cost is: ${:,.2f}".format(total_amount))
Total cost is: $10,000.00
这方面的内容在PEP 378 -- 用于千位分隔符的格式说明中有详细说明,并且在官方文档“使用逗号作为千位分隔符”中有示例。