float_format(-旧フォーマット,+新フォーマット)
この述語は、実数の出力フォ−マットをチェックしたり、変更するのに使います。
2つの引数の両方が値を持たない同じ変数の場合、その変数は現在のフォ−マットに単一化されます。新しいフォ−マットにするには、「新フォーマット」が新しいフォ−マットを表わす複合項でなければなりません。この複合項は、2つの整数の引数を持っています。第1引数は、フィ−ルドの最小幅を指定します。変更された実数が少なくともこの幅でフィ−ルドにプリントされます。フィ−ルド幅が負の場合には、左詰めで表示されます。第2引数は精度です。これは、小数点以下にプリントする桁数を指定します。
以下のフォ−マットが使用できます。
e(L,P) 数字は、形式[-]m.nnnnnnExxの十進数法に変換されます。
f(L,P) 数字は、形式[-]mmm.nnnnnnの十進数法に変換されます。
g(L,P) 数字は、e(L,P)フォ−マットあるいはf(L,P)フォ−マットのうちの短い方でプリントされます。有効でない0は、プリントされません。
デフォルトのフォ−マットは、g(0,6)です。
?- float_format(F,e(-20,5)),X is sin(10), write('*'), write(X), write('*'). *-5.44021e-01
F = g(0,6) X = -5.44021e-01
yes ?-
illegal_format 引数のいずれかが、有効な浮動小数フォ−マットでない