如何解析從工作表掃描的浮點數爲包含逗號的文本?Jython:將文本解析爲包含逗號的浮點數
txt = "1,903.44"
value = float(txt) # This fails due to ',' in string
更新:對不起,我不清楚。我使用jython 2.5,它沒有語言環境模塊。
如何解析從工作表掃描的浮點數爲包含逗號的文本?Jython:將文本解析爲包含逗號的浮點數
txt = "1,903.44"
value = float(txt) # This fails due to ',' in string
更新:對不起,我不清楚。我使用jython 2.5,它沒有語言環境模塊。
txt = "1,903.44"
value = float(txt.replace(',', ''))
如果您需要本地化,這不會真的起作用,但它確實有效,如果您知道逗號是您的分隔符。
使用locale.atof()
後locale.setlocale(locale.LC_ALL, '')
。
+1只是想補充一點,如果OP正在處理貨幣值,那麼使用十進制包而不是浮點數可能更明智。 http://stackoverflow.com/questions/723356/when-is-it-closed-to-use-floating-precision-data-types – 2009-04-30 16:37:20
你可以剝逗號:
txt = txt.replace(',', '')
value = float(txt)
與貨幣價值打交道時避免使用浮點數時發生well-documented pitfalls我會親自使用十進制包。
from decimal import Decimal
txt = txt.replace (',', '')
value = Decimal(txt)
正如其他海報指出,如果區域已知使用「」作爲千位分隔符這只是工作,但應該讓你在正確的方向前進。
考慮到我沒有語言環境模塊,這個工作最簡單。謝謝! – gregturn 2009-04-30 16:44:24