2016年10月8日

【SAS 小技巧】小數點後做無條件捨去或進位

SAS內建函數中無條件捨去的函數為CEIL,無條件進位的函數為FLOOR,但在預設功能只能做到捨去或進位到整數。看一下SAS的說明及範例
無條件捨去:
CEIL(argument)
image34
  無條件進位:
FLOOR(argument)
image29

所以要把數字12.345做無條件捨去至小數點第2位,也就是12.34應該要如何做呢?
其實也不難,看了下面的程式我想很容易就理解了。 我就不多說明了。

/*程式開始*/
data fish;
set sashelp.fish(obs=5);
keep Width;
run;
data fish1;
set fish;
format Width_ceil_dec2 Width_floor_dec2 z4.2;
Width_ceil_dec2=ceil(Width * 100) / 100;
Width_floor_dec2=floor(Width * 100) / 100;
run;
proc print data=fish1;
run;
/*程式結束*/

image37

1 則留言: