0

我制作了一个 gfortran 程序,它使用 READ 语句将字符串转换为实数。

问题:当使用命令 READ(line(54:67),*) t 从文件中读取字符串 ('1.00000E-03') 时,程序返回 t:1.76617300510772955878279319145152225E-0003。这是一个错误的转换。

但是当我写 READ('1.00000E-03',*) t 时,程序返回 1.00000000000366461737654319145152225E-0003。没关系。

有人承认这个失败吗?谁能帮我?

4

1 回答 1

0

约翰,

你必须阅读真实的AS 。做这样的事情(因为你没有显示类型声明):

Program so
Implicit None
character(8)::fchar
real(kind=4):: rnum

write(20,'(a6)') "1.2345"
close(20)
open(22,file='fort.20')
!fchar=line(54:67)
read(22,'(f8.4)') rnum
close(22)
write(*,'(f8.4)')rnum
End Program so

希望这会有所帮助。

于 2013-06-01T12:40:19.200 回答