FAQ

日頃お客様から寄せられる質問の中で、頻度の高いものとその回答を掲載しています
BookmarkSubscribeRSS Feed

数値の有効桁数を揃えて出力する方法

Started ‎03-13-2018 by
Modified ‎04-19-2018 by
Views 4,941

質問

計算結果やプロシジャからの出力値の桁数が異なる際、表示時に 同一桁数にならない場合があります。
その際、有効桁数を揃えて表示するには,どうしたらよいのでしょうか。

回答

ROUND関数で有効数字の桁を指定することにより、有効桁数を揃えることができます。
指定する有効桁数は、ABS関数、LOG10関数、およびINT関数を使用して以下のように求めることが可能です。

 

  1. INT 関数により値が整数であるか小数であるかで処理を分ける。
  2. LOG10関数により何桁の数値かを算出する
  3. 2の値を用いて設定した有効桁となるように、累乗の値を調整する。
  4. 3の値を用いて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にも記載されています。
http://support.sas.com/kb/24/728.html

 

Version history
Last update:
‎04-19-2018 09:06 PM
Updated by:
Contributors

sas-innovate-white.png

Our biggest data and AI event of the year.

Don’t miss the livestream kicking off May 7. It’s free. It’s easy. And it’s the best seat in the house.

Join us virtually with our complimentary SAS Innovate Digital Pass. Watch live or on-demand in multiple languages, with translations available to help you get the most out of every session.

 

Register now!

Article Labels
Article Tags

SAS Support Communitiesのユーザーガイドライン


コミュニティの基本的なガイドラインについてご説明します。まずは、こちらをご参照ください。

詳細を読む

 

SAS Support CommunitiesのFAQ


SAS Support CommunitiesのFAQはヘルプに記載されています。参照方法は、こちらからご確認ください。

詳細を読む

 

質問や意見の投稿と返信方法について


Japan SAS Discussionページに質問や意見(メッセージ)を投稿/返信する方法を簡単にご説明します。

詳細を読む