Fortran において変数の定義
現在Fortranを使いプログラムをしていますが、円の面積を計算するため変数を定義しているところでおかしな問題が出てきました。円周率を定義するところで自分でつけた変数名 PAI の値が入力データと違うことに気づきました。以下のように簡単なプログラムを作って試したのですが結果は同じくおかしな値が出てきました。
IMPLICIT REAL*8(A-Z)
PAI=3.14159265
WRITE(*,1)PAI
1 FORMAT(E30.22)
PAUSE
END
結果は
0.3141592741012573000000E+01
とディスプレイに表示され、このあとにPAIを使った計算があるならこの値で計算されます。私としては、PAI=3.14159265と出力し、計算もしたいのですが...
これは FORTRAN 自体の特有の性質なのでしょうか、それともソフト、ハード的な問題なのでしょうか?
尚、変数 PAI をファイルから読み込んだり、PAI=4.0*ATAN(1.0) (PAI=3.1415926535897930 となりますが)、PAI=3.14159265D+00などにすると正確に表示、計算出来ます。
お礼
ぶっちゃけ、納得です。