ilu*_*tar 7 python double fortran input
我试图读取一个Fortran双精度数字,如1.2345D + 02到python,但我得到以下错误:
>>> float('1.2345D+02')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for float(): 1.2345D+02
Run Code Online (Sandbox Code Playgroud)
通过使用D而不是E遵循Python科学记数法的建议,我尝试了numpy但我也得到了同样的错误:
import numpy
>>> numpy.float("1.2345D+02")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for float(): 1.2345D+02
Run Code Online (Sandbox Code Playgroud)
Python中是否有解决方案来读取那些双精度数而不仅仅将'D'更改为'E'?
编辑:我替换了字符串上的错误语法.但我仍然得到错误.
怎么了float(str.replace("D", "E"))?
请注意,numpy DOES支持fortran表示法:numpy.float("1.2345D+02").
你似乎有一些更深层的目的,也许揭示它会有所帮助.
| 归档时间: |
|
| 查看次数: |
3846 次 |
| 最近记录: |