G 形編集

G 形編集記述子は,実数型の値を汎用的に転送します。任意の組込み型の値を転送するのに使用することができます。これは次の形式を取ります。

Gw.d[Ee]

d (小数点以下のけた数) に e (指数内のけた数) を加えた値は,w (欄幅) の値を超えてはなりません。

指定された I/O 並び項目は,実数型であるか,複素数型の実部または虚部でなくてはなりません。

整数型,論理型,または文字型データの I/O を指定する場合,この編集記述子はそれぞれ IwLw,および Aw と同じ規則に従い,de は効果を持ちません。

入力処理の規則

入力時に G 形編集記述子は,外部欄から w 個の文字を転送し,対応する I/O 並び項目にその実数値を代入します。G 形編集記述子は,F 形編集記述子と同じように入力データを解釈し代入します (「F 形編集」を参照)。

出力処理の規則

出力時に G 形編集記述子は,右詰めされ,小数点以下 d けたに丸められた対応する I/O 並び項目の実数値を,w 文字の長さの外部欄に転送します。

表:G 形編集の変換に対するデータの大きさの影響
データの大きさ 対応する変換
0 < m < 0.1 - 0.5 x 10-d-1 Ew.d[Ee]
m = 0 F(w - n).(d -1), n('b')
0.1 - 0.5 x 10-d-1 <= m < 1 - 0.5 x 10-d F(w - n).d, n('b')
1 - 0.5 x 10-d <= m < 10 - 0.5 x 10-d+1 F(w - n).(d -1), n('b')
10 - 0.5 x 10-d+1 <= m < 100 - 0.5 x 10-d+2 F(w - n).(d -2), n('b')
.
.
.
.
.
.
10d-2 - 0.5 x 10-2 <= m < 10d-1 - 0.5 x 10-1 F(w - n).1, n('b')
10d-1 - 0.5 x 10-1 <= m < 10d - 0.5 (w - n).0, n('b')
m >= 10d - 0.5 Ew.d[Ee]

'b' は,空白の後に数値データ表現が続いたものです。Gw.d の場合,n('b') は 4 個の空白です。Gw.dEe の場合,n('b')e + 2 個の空白です。

w は,以下のものを収容できるように,d + 7 以上の値でなくてはなりません。

e が指定されている場合,wd + e + 5 以上でなくてはなりません。

次に,G 形編集記述子を使った出力と,対応する F 形編集記述子を使った出力を比較した例を示します ('^' は,空白文字を表しています)。

				書式	G 形による出力	書式	F 形による出力
	        0.01234567	G13.6	^0.123457E-01	F13.6	^^^^^0.012346
	      -0.12345678	G13.6	-0.123457^^^^	F13.6	^^^^-0.123457
	       1.23456789	G13.6	^^1.23457^^^^	F13.6	^^^^^1.234568
	      12.34567890	G13.6	^^12.3457^^^^	F13.6	^^^^12.345679
	     123.45678901	G13.6	^^123.457^^^^	F13.6	^^^123.456789
	   -1234.56789012	G13.6	^-1234.57^^^^	F13.6	^-1234.567890
	   12345.67890123	G13.6	^^12345.7^^^^	F13.6	^12345.678901
	  123456.78901234	G13.6	^^123457.^^^^	F13.6	123456.789012
	-1234567.89012345	G13.6	-0.123457E+07	F13.6	*************

関連情報