千位的格式说明符无效

时间:2016-10-08 16:29:14

标签: python

我正在尝试制作一个像输出这样的简单图表。这是我想要显示的字符串:

a =" name",b =" 10000.00",c =" code",d =" 45.60",e =" 30.00"

print("{0:20}${1:,20}{2:20}${3:,20}${4:,<5}".format(a,b,c,d,e),file=outfile)

我把&#34;,&#34;在每个格式说明符中指示数千个位置,我希望它们作为货币输出。它报告错误:

print("{0:20}${1:,20}{2:20}${3:20}${4:<5}".format(a,b,c,d,e),file=outfile)
ValueError: Invalid format specifier

我做错了什么?

1 个答案:

答案 0 :(得分:0)

根据docs,宽度必须在逗号之后。此外,您的b变量必须是数字(而不是字符串,如在您的MWE中):

>>> x = 10000.0
>>> '{0:20,}'.format(x)
'            10,000.0'