*
; /* Rounds up or down to nearest roundoff unit written: November 21, 1997 Arnold Schick */ %macro rnddown (variable, unit); abs(&unit)*floor(&variable/abs(&unit)) %mend; %macro rndup (variable, unit); abs(&unit)*ceil(&variable/abs(&unit)) %mend; Example: data one; input a b; down = %rnddown(a,0.01); up = %rndup (b,0.01); cards; 1.2345 5.645 0.768 -4.200 7.9999 12.431 ; run; data one; retain a down b up; set one; run; proc print data=one; run; *;