2013-05-31 45 views
0

我製作了一個gfortran程序,它使用READ語句將字符串轉換爲真實的。在gfortran中實現真正轉換的字符串

問題: 使用READ(line(54:67),*)t命令從文件中讀取字符串('1.00000E-03')時,程序返回t:1.76617300510772955878279319145152225E-0003。這是一個錯誤的轉換。

但是當我寫READ('1.00000E-03',*)t時,程序返回1.00000000000366461737654319145152225E-0003。沒關係。

有人認出這失敗嗎?誰能幫我?

回答

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 

希望這會有所幫助。

相關問題