字符串到gfortran中的实际转换

时间:2013-05-31 20:12:24

标签: string type-conversion gfortran real-datatype

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

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

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

有人认出这种失败吗?谁能帮帮我?

1 个答案:

答案 0 :(得分: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

希望这会有所帮助。