2009-04-30 34 views

回答

3
txt = "1,903.44" 
value = float(txt.replace(',', '')) 

如果您需要本地化,這不會真的起作用,但它確實有效,如果您知道逗號是您的分隔符。

+0

考慮到我沒有語言環境模塊,這個工作最簡單。謝謝! – gregturn 2009-04-30 16:44:24

3

使用locale.atof()locale.setlocale(locale.LC_ALL, '')

+0

+1只是想補充一點,如果OP正在處理貨幣值,那麼使用十進制包而不是浮點數可能更明智。 http://stackoverflow.com/questions/723356/when-is-it-closed-to-use-floating-precision-data-types – 2009-04-30 16:37:20

3

你可以剝逗號:

txt = txt.replace(',', '') 
value = float(txt) 
0

與貨幣價值打交道時避免使用浮點數時發生well-documented pitfalls我會親自使用十進制包。

from decimal import Decimal 
txt = txt.replace (',', '') 
value = Decimal(txt) 

正如其他海報指出,如果區域已知使用「」作爲千位分隔符這只是工作,但應該讓你在正確的方向前進。

相關問題