You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Fortran运行时错误:浮点读取值异常(ES14.6E2)求助

Fortran运行时错误:浮点读取失败(Bad value during floating point read)

错误信息

在文件src/annGeneralization.f90第79行(单元=12,文件='./output/ann1_1.out')
Fortran runtime error: Bad value during floating point read

相关代码(第77-79行)

write(*,*) './output/ann' // trim(str1) // '_' // trim(str0) // '.out'
        open(12, FILE = './output/ann' // trim(str1) // '_' // trim(str0) // '.out')
        read(12, '(ES14.6E2)') fitness

输入文件内容

ann1_1.out文件内仅一行内容:0.999999

问题原因

你用的格式说明符(ES14.6E2)要求读取带两位指数部分的科学计数法浮点数(比如9.999990E-01这类形式),但输入文件里是普通十进制小数,格式不匹配导致读取失败。

解决方案

方案1:修改读取格式(推荐)

改用兼容普通十进制小数的格式符,比如F14.6或ES14.6(去掉末尾的E2):

read(12, '(F14.6)') fitness

或者:

read(12, '(ES14.6)') fitness

方案2:修改输入文件格式

如果必须保留原读取格式,把输入文件内容改成科学计数法形式,比如:

9.999990E-01

额外调试建议

打开文件时可以加上状态检查和错误捕获,避免文件不存在等隐性问题:

integer :: iostat
open(12, FILE = './output/ann' // trim(str1) // '_' // trim(str0) // '.out', STATUS='OLD', IOSTAT=iostat)
if (iostat /= 0) then
    write(*,*) '文件打开失败,错误码:', iostat
    stop
end if

内容的提问来源于stack exchange,提问作者Milena Dantas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 18:42:23