Write and run SAS programs in your web browser

Put statement

Reply
Occasional Contributor
Posts: 9

Put statement

Hi,

 

I came across the following Put statements to convert from numerical to character:

 

char_var = put(num_var,6.);

apple1 = put(apple, 6);

Run;

 

apple1 = put(apple, best6.);

Run;

Both statements will produce the same result.
My question are (1) why there are different syntax which can produce the same output, (2) what is the 'best' means, and (3) how do we know what is the value to put in the w.d format?

 

Thank you. 

Super User
Posts: 6,938

Re: Put statement

The statements will NOT produce the same result.

Run this and look at the result:

data test;
input numvar;
charvar1 = put(numvar,6.);
charvar2 = put(numvar,best6.);
cards;
1
6000
6.5431
1534.21
1109998
;
run;

Note obs 3 and 4

 

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
Super User
Posts: 6,938

Re: Put statement

As for your question 3:

Maxim 3: Know your data.

Inspect your dataset, run some statistics to see maximum and minimum values, see if x-int(x) gives you fractions, and so on.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
Super User
Posts: 17,829

Re: Put statement


potiu wrote:

(1) why there are different syntax which can produce the same output,

 


There is A LOT of 'different' syntax that can produce the same output. 

FYI - this is a PUT() function, there is a PUT statement and they do differ.

 

 

Ask a Question
Discussion stats
  • 3 replies
  • 163 views
  • 1 like
  • 3 in conversation