Macro (fácil) de SAS. Longitud de la parte decimal de un número

Muy sencillo, vemos el programa y posteriormente lo transformamos en una macro de SAS:

data aleat;
do i = 1 to 100;
aleatorio=ranuni(8)*1000;
largo_decimal = length(scan(put(aleatorio,best32.),2,"."));
output;
end;
run;

Sencillo, pasamos de número a carácter con PUT y buscamos el punto con SCAN, extraemos la segunda parte del carácter separado por punto y vemos su longitud. Esto pasado a una macro:


%macro largo_decimal(num);
length(scan(put(&num.,best32.),2,"."))
%mend;
data aleat;
do i = 1 to 100;
aleatorio=ranuni(8)*1000;
largo_decimal = %largo_decimal(aleatorio);
output;
end;
run;

Sencillo, a mi hoy me ha sido útil. Saludos.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *