Help using Base SAS procedures

Control the number of decimal places in display

Reply
Occasional Contributor
Posts: 13

Control the number of decimal places in display

Is there any OPTIONS that can control the number of decimal places respectively for the two ways of outptut: 1) PUT, and 2) PROC PRINT? The variable invest has 6 decimal places currently by default.

[pre]
DATA newdata;
SET olddata;
IF idnum=10013 THEN PUT invest= ;
RUN;

PROC PRINT DATA=olddata;
WHERE idnum=10013;
RUN;

[/pre]
SAS Super FREQ
Posts: 8,742

Re: Control the number of decimal places in display

Hi:
The answer to your question will be a SAS format for both usage scenarios. The difference is that PROC PRINT will need a FORMAT statement:
[pre]
format invest comma10.2;
[/pre]

While the PUT statement just needs to be told what format to use:
[pre]
PUT invest= comma10.2;
[/pre]

If you used a format statement inside your DATA step program, then WORK.NEWDATA would have the format permanently associated with the INVEST variable. For example, in the program below, the WEIGHT variable in WORK.NEW has the format COMMA10.6 associated with it. So, that format is used by PROC PRINT.

cynthia
[pre]
data new;
set sashelp.class;
format weight comma10.6;
run;

ods listing;
proc print data=work.new;
run;
[/pre]
Occasional Contributor
Posts: 13

Re: Control the number of decimal places in display

thanks a lot, Cynthia@sas.
Ask a Question
Discussion stats
  • 2 replies
  • 6266 views
  • 0 likes
  • 2 in conversation