FAQ

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

小数点以下の桁数を指定して切り捨てを行なう方法

Started ‎03-05-2018 by
Modified ‎04-19-2018 by
Views 4,973

質問

小数点以下の桁数を指定して、切り捨てを行なう方法はありますか?四捨五入はROUND関数で可能ですが、数値の切り 捨てをしたいと考えています。たとえば、「1.2345」を小数点以下第3位までで切り捨てて、「1.234」を求めるような方法です。

回答

小数点以下の桁数を指定して切り捨てを行なう関数はサポートされていませんが、INT関数を利用して、任意の桁で切り 捨てした値を求められます。

 

例1:小数点以下第3位までで切り捨てる

DATA a;
 INPUT a;
 b=INT(a*(10 ** 3)) / 10 ** 3;
 PUT b=;                                       /* 値の確認 */
CARDS;
3.14159
-3.14159
;
RUN;

 

例1の結果

   b=3.141
   b=-3.141

 

 

例2:小数点以下第4位までで切り捨てる

DATA a;
  INPUT a;
  b=INT(a*(10 ** 4)) / 10 ** 4;
  PUT b=;                                       /* 値の確認 */
CARDS;
3.14159
-3.14159
;
RUN;

 

例2の結果

b=3.1415
b=-3.1415

 

なお、上記の手順をSASマクロにして使用することもできます。  


                                               /* マクロの定義 */
   %MACRO d_omit(var,d);
     %*** 小数の桁数を指定して切り捨て ***;
     %*** var: 変数 ***;
     %*** d: 桁数 ***;
     INT(&var*(10 ** &d)) / 10 ** &d
   %MEND d_omit;

   DATA a;
     a=3.14159;
     b=%d_omit(a,3);                       /* マクロの呼び出し */
     PUT b=;                                       /* 値の確認 */
   RUN;
Version history
Last update:
‎04-19-2018 09:00 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ページに質問や意見(メッセージ)を投稿/返信する方法を簡単にご説明します。

詳細を読む