如何将从工作表扫描的浮动解析为包含逗号的文本?
txt = "1,903.44"
value = float(txt) # This fails due to ',' in string
更新:对不起,我不清楚。我正在使用jython 2.5,它没有语言环境模块。
答案 0 :(得分:3)
txt = "1,903.44"
value = float(txt.replace(',', ''))
如果你需要本地化,这不会真正起作用,但如果你知道逗号是你的分隔符就行了。
答案 1 :(得分:3)
在locale.setlocale(locale.LC_ALL, '')
之后使用locale.atof()
。
答案 2 :(得分:3)
您可以删除逗号:
txt = txt.replace(',', '')
value = float(txt)
答案 3 :(得分:0)
我会在处理货币值时亲自使用十进制包,以避免在使用浮点时出现well-documented pitfalls。
from decimal import Decimal
txt = txt.replace (',', '')
value = Decimal(txt)
正如其他海报所指出的那样,只有当您的语言环境使用','作为千位分隔符时,这才有效,但应该让您朝着正确的方向前进。