2016-10-08 105 views
1

我正在試圖製作一個簡單的圖表,如輸出。下面是我要顯示的字符串:千位的格式說明符無效

一個= 「姓名」,B = 「10000.00」,C = 「代碼」,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) 

我在每個格式說明符中輸入「,」來表示千位,我希望它們以貨幣形式輸出。它報告錯誤:

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

我做錯了什麼?

+2

是有可能你的意思'.'在您使用''? –

回答

0

根據docs,寬度必須在逗號後面。此外,您b變量必須是數字(而不是一個字符串,如您MWE):

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

就像你說的,我在寬度「$ {1:20,}」後面加逗號。現在錯誤說ValueError:不能用's'指定','。 – heej

+0

正如答案中所述,您的變量必須是一個數字(int或float),以使逗號可以工作 –

+0

我欣賞它 – heej