数値の有効桁数を揃えて出力する方法
[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にも記載されています。 |