ROUNDDEC は、n で指定された桁で丸められた x の値を戻します。結果は、x のモード、基数、およびスケールになります。
|
x が FIXED DECIMAL または PICTURE FIXED DECIMAL の場合、ROUNDDEC は ROUND と同じ結果を生成します。
x が FLOAT DECIMAL または PICTURE FLOAT DECIMAL で、FLOAT(DFP) コンパイラーが有効である場合、ROUNDDEC は n 桁めではなく、小数第 n 位で x を丸めます (ANSI 定義に従った ROUND 組み込み関数と同様)。 例えば、以下の連続した 3141.592653589793d0 の丸めにより、次の値が算出されます。
dcl x float dec(16) init( 3141.592653589793d0 );
display( fixed(rounddec(x,1),15,7) ); /* 3141.6000000 */
display( fixed(rounddec(x,2),15,7) ); /* 3141.5900000 */
display( fixed(rounddec(x,3),15,7) ); /* 3141.5930000 */
display( fixed(rounddec(x,4),15,7) ); /* 3141.5927000 */
display( fixed(rounddec(x,5),15,7) ); /* 3141.5926500 */
display( fixed(rounddec(x,6),15,7) ); /* 3141.5926540 */
display( fixed(rounddec(x,7),15,7) ); /* 3141.5926536 */