作者maiming (蒼)
看板Fortran
標題[問題] 從檔案讀備精度實數(如何控制格式)
時間Wed May 11 14:40:20 2011
我有個關於讀檔的問題想要請教大家。
現在有一個檔案名稱為data,內容有四行,如下:
-3.05430d0
7.61854d0
1.47665d0
-11.92365d0
現在,我希望可以一行一行去讀取這四個數字,程式碼大略是以下這樣:
filename = '/home/data'
open(unit=10,file=filename)
Do coefi = 1,4
read(10,"(D17.11)") coef
write(*,"(D17.11)") coef
If ( coefi == 1 ) sss1 = coef
If ( coefi == 2 ) sss2 = coef
If ( coefi == 3 ) sss3 = coef
If ( coefi == 4 ) sss4 = coef
執行完之後,發現這樣寫,最後它讀到的數字會是:
-.30543000000D+01
0.76185400000D+01
0.14766500000D+01
-.11923650000D+02
而不是原先檔案裡頭的:
-3.05430d0
7.61854d0
1.47665d0
-11.92365d0
不曉得為什麼,它會讓所有的數字都移到小數點後面,
但是我需要的是,「執行完之後」,出現的結果就是原先檔案的內容,也就是:
-3.05430d0
7.61854d0
1.47665d0
-11.92365d0
請問大家,要如何處理,它才不會最後列印到螢幕的結果,都是零點多少開頭。
謝謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.4.195
1F:推 charlesdc:我眼睛應該還沒瞎吧>< 你的數據沒問題啊!! 繼續趕論文. 05/11 16:52
2F:→ charlesdc:你的數據沒問題啦~~請仔細看 如果在意格式的話輸出時也 05/11 16:53
3F:→ charlesdc:可以控制 至於怎麼寫翻一下書吧我也忘了 05/11 16:53
4F:推 terryys:原來檔案裡數字都是固定格式嗎? 不是的話你可以把那些數字 05/11 21:43
5F:推 terryys:都當成是字串XD 固定格式的話用f8.5應該可以,但是後頭d0要 05/11 21:45
6F:→ terryys:自己加上去 05/11 21:46
7F:→ suzuke:果然XD 今天本來要跟你說得就是輸出的格式可能有問題 05/11 23:27