Python float()错误,带有0.4893-6个数字

时间:2012-12-10 11:47:14

标签: python

是否可以将字符串更改为浮点数,而不使用E?

格式化的数字

我在尝试float("0.333-5")时遇到错误。 Python中的浮点数带有eE。 任何的想法?如何轻松添加E?

2 个答案:

答案 0 :(得分:0)

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

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

如果你有甚至加号,你将不得不进行双重替换

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

答案 1 :(得分:0)

使用以下正则表达式:

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

其中number_string = 0.333-5。这适用于负数,也适用于.5-5等格式。