如何将'-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
答案 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