その他, FORTRANでプログラムを書く場合の注意を以下に列挙する.
ほとんどのシステムでは, 整変数がオーバーフローしても一切の警告を発する事なく, 上位の桁を切捨てて何事もなかったかのように計算を続ける.
これは非常に危険な事であるが, 乱数を発生させるプログラムなどでは意識的にオーバーフローさせて いる場合もある.
とにかく, 大きな整数を扱う場合には, 注意が必要である.
実数値を整変数に代入すると, 当然小数点以下は切捨てられるが, その切捨ては常に「0に近くなるように」切捨てられる. これは, 正の範囲では数学的な切捨てと同じであるが, 負の範囲では異なる. (-1.5が切捨てられると-1になってしまう) また同様に, 組み込みメソッド(元関数)のmodも負の範囲で数学的な剰余の定義と異なる.
数学的な切捨て及び剰余を求めたい場合には, FNCLIB または INTLIB のルーチンを使う.
べき乗計算 x = b**nでは, 基数bの丸め誤差がn倍になって現れるので, 丸め誤差だけでもnが大きいとかなりの誤差を生じる. さらに, 計算の過程で生じる誤差が加わると, 思わぬ誤差を生じてしまう. しかも, 処理系によってこの誤差の生じかたが 大きく異なるのでたちが悪い.
べき乗の精度が気になるところでは, その部分だけ倍精度演算をするなどの安全対策を心がけた方がよい. 特に, 基数bの精度に気を付けること. たとえ, 1つの計算機で所定の精度が得られても, 他の計算機で同じ結果が得られる保証はない.
FORTRAN 規格では 「定数は, それを表す文字列そのものが型と値を決める」 とされている. したがって, 定数の書き方によって値だけでなく, その精度も決められることになる. 例えばDOUBLE PRECISION X .... X = 3.8*X*(1.-X) ....と書くと, せっかく倍精度計算をしているのにも関わらず, 定数 3.8 や 1. が単精度の定数なので, 全体として倍精度計算の精度が出ない. 正確にいうと 3.8 という定数はxとの乗算が行われる前に, 倍精度実数に変換されるのであるが, その倍精度実数の値はあくまで単精度の 3.8 であり, 倍精度の 3.8D0 とは値が異なる. このようなところでは, 必ず
X = 3.8D0*X*(1.D0-X)と書かなければならない. これは, DATA文中の定数も同じである.