FIXED の結果の精度は、次の式によって得られます。
(max(1,min(p-q+1+n,N)),n)
ここで、(p,q) は x の精度で、N は許可される桁数の最大数です。 したがって、n は結果のスケール因数を指定します。
n は、FIXED データのスケール因数の制限に従う必要が あります。 n が 0 より大きい場合は、小数点の右から (n) 番目の桁が丸め られます。 n がゼロまたは負の場合は、小数点の左から (1-n) 番目の桁が丸められます。
結果の値は、次の式によって得られます。ここで、x が BINARY の場合は b = 2 で、 x が DECIMAL の場合は b = 10 です。
round(x,n) = sign(x)*(b-n)* floor(abs(x)* (bn) + 1/2)
したがって、次の例では値 6.67 が出力となります。
dcl X fixed dec(5,4) init(6.6666);
put skip list( round(X,2) );