1

我想用逗號分隔浮動金額數千。我能夠使用locale.format()函數來實現這一點。但預期的產出不考慮小數點。python逗號由千位分隔的數值無尾隨零

import locale 
locale.setlocale(locale.LC_ALL, 'en_US') 
amount = locale.format('%d', 10025.87, True) 
amount 
'10,025' 

我的預期產出應該是10,025.87,保持尾隨值。請讓我知道,如果這種事情是可能的

Value: 1067.00 
Output: 1,067 

Value: 1200450 
Output: 1,200,450 

Value: 1340.9 
Output: 1,340.9 
+2

%d是一個整數格式代碼。嘗試使用%f –

+0

奧斯汀黑斯廷斯和manvi77,是的它的工作原理,但它隨着它離開了大量的尾隨零。必須結合使用rstrip來刪除它們。非常感謝 –

回答

2

如何:

import locale 
locale.setlocale(locale.LC_ALL, 'en_US') 
# strip any potential trailing zeros because %f is used. 
amount = locale.format('%f', 10025.87, True).rstrip('0').rstrip('.') 
amount # '10,025.87' 
+0

這一個工程,但它並沒有刪除'。'需要做一個額外的'.rstrip('。')'。我現在正在做的是amount = locale.format('%f',10025.00,True).rstrip('0')。rstrip('。') –

+0

是的。如果只有數千個存在,則更新我的答案以刪除尾部「。」。 –