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

```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:

```sas
%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.