python转换字符串,如['-0.88854965D + 02']浮动

时间:2015-07-24 07:13:00

标签: python python-2.7

如何将'-0.88854965D+02'之类的字符串转换为float?

float('-0.88854965D+02')不起作用:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for float(): -0.88854965D+02

1 个答案:

答案 0 :(得分:1)

字符串'-0.88854965D+02'似乎被写为科学E符号。如果是这种情况,那么您可以使用以下单行来replace&#39; D&#39;使用&#39; E&#39;,然后转换为float

n = float('-0.88854965D+02'.replace("D", "E"))
print n
-88.854965