誰かが、特にテキストファイルからFortranがどのようにデータを読み込むのか説明してください。私はI/Oの動作とフォーマットオプションを理解していると思っていましたが、以下の例では私は困惑しています。私はFortranがテキストファイルからフロートを読む - 奇妙な動作
221
500.0200
500.0000
このファイルに以下の3つの行を含むテキストファイルDomain.txt
から3つの値を読み込むしようとしています
は、その後
program main
implicit none
integer :: N
real :: xmax,xmin
open(unit=1,file='Domain.txt')
read(1,*) N ! Read first line
read(1,*) xmax ! Read second line
read(1,*) xmin ! Read third line
print*, N
print*, xmax
print*, xmin
end program
以下の私のプログラムで、この結果を読まれますプログラムは
221
500.019989
500.000000
私の混乱は、 xmax
変数のecond出力。 2行目で500.019989
と表示され、500.0200
でないのはなぜですか?
私は小文字の後ろの最初の2桁だけを読み上げると言っても、読んだ文ではformat(fm.d)
という形式の書式を使用しようとしましたが、問題を解決できませんでした。
私はgfortran 4.8.5を使用しています。どんな助けもありがとう。私はまた、これがここで質問された質問と重複していることも知っていますが(Reading REAL's from file in FORTRAN 77 - odd results)、私はコメントして解決策について質問するだけの十分な評判はありません。
また、ファイルから読み込むときに精度を調べる[この質問](http://stackoverflow.com/q/33319357)もあります。 – francescalus