作者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