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

Fortran内部读取:字符转整数失败问题求助

Fortran字符转对应整数值的正确实现

你之前的代码报错是因为用了(i1)格式读取字符:这个格式是用来解析数字字符(比如'0'-'9')为整数的,而'U'不是数字字符,所以会触发运行时错误。

要获取字符对应的ASCII整数值,直接用Fortran标准内置函数ichar()即可,这是从Fortran 77就支持的标准方法,完全兼容旧代码迁移场景:

program test
  integer :: LTS
  CHARACTER (len=1)  :: UBF
  UBF = "U"
  LTS = ichar(UBF)  ! 获取字符对应的ASCII整数值
  print *, LTS  ! 输出85(对应'U'的ASCII码)
  stop
END

编译运行这段代码,就能得到你期望的结果。如果需要反向转换(整数转字符),可以用char()函数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 21:48:18