数値の有効桁数を揃えて出力する方法
[OS] ALL
[リリース] ALL
[キーワード] ABS function, LOG10 function, INT function, ROUND function
[質問]
計算結果やプロシジャからの出力値の桁数が異なる際、表示時に 同一桁数にならない場合があります。
[回答]
ROUND関数で有効数字の桁を指定することにより、有効桁数を揃えることができます。
以下の例は、前述の手順で有効桁数が3になるように桁数を揃えるプログラムです。 例:有効桁数を3桁で揃えるプログラム例
DATA one;
INPUT x;
IF int(x) ne 0 THEN DO;
/* 整数の場合 */
_3sigdigit=ROUND(x,10**(INT(LOG10(ABS(x)))-2));
END;
ELSE DO;
/* 小数の場合 */
_3sigdigit=ROUND(x,10**(-1*(ABS(INT(LOG10(ABS(x))))+3)));
END;
DATALINES;
1234
12345
0.01234
;
RUN;
PROC PRINT;
FORMAT x _3sigdigit 12.5;
RUN;
同様のサンプルプログラムが、以下のURLにも記載されています。 |
|