【发布时间】:2009-04-30 16:29:49
【问题描述】:
如何将从工作表扫描的浮点数解析为包含逗号的文本?
txt = "1,903.44"
value = float(txt) # This fails due to ',' in string
更新:对不起,我不清楚。我使用的是 jython 2.5,它没有 locale 模块。
【问题讨论】:
标签: floating-point jython string-parsing
如何将从工作表扫描的浮点数解析为包含逗号的文本?
txt = "1,903.44"
value = float(txt) # This fails due to ',' in string
更新:对不起,我不清楚。我使用的是 jython 2.5,它没有 locale 模块。
【问题讨论】:
标签: floating-point jython string-parsing
txt = "1,903.44"
value = float(txt.replace(',', ''))
如果您需要本地化,这不会真正起作用,但如果您知道逗号是分隔符,它就可以解决问题。
【讨论】:
在locale.setlocale(locale.LC_ALL, '') 之后使用locale.atof()。
【讨论】:
你可以去掉逗号:
txt = txt.replace(',', '')
value = float(txt)
【讨论】:
我个人在处理货币值时会使用十进制包,以避免在使用浮点数时出现well-documented pitfalls。
from decimal import Decimal
txt = txt.replace (',', '')
value = Decimal(txt)
正如其他海报所指出的,这仅在您的语言环境使用“,”作为千位分隔符时才有效,但应该让您朝着正确的方向前进。
【讨论】: