Jython:将文本解析为包含逗号的float

时间:2009-04-30 16:29:49

标签: floating-point jython string-parsing

如何将从工作表扫描的浮动解析为包含逗号的文本?

txt = "1,903.44"
value = float(txt) # This fails due to ',' in string

更新:对不起,我不清楚。我正在使用jython 2.5,它没有语言环境模块。

4 个答案:

答案 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)

正如其他海报所指出的那样,只有当您的语言环境使用','作为千位分隔符时,这才有效,但应该让您朝着正确的方向前进。