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