Python float() 错误与 0.4893-6 数字



是否可以将字符串更改为使用没有 E 格式的数字的浮点数?

我在尝试float("0.333-5")时出错。Python 中的浮点数带有eE。知道吗?如何轻松添加 E?

使用以下正则表达式:

import re
re.sub('(.)([-+]d)', r'1e2', number_string)

哪里number_string = 0.333-5.这将适用于负数,也适用于类似 .5-5 .

只需将减号替换为前面带有 e 的减号

s = "0.333-5"
s = s.replace('-','e-')
float(s)

如果你可以有偶数加号,你将不得不做双重替换

s.replace('-','e-').replace('+','e+')