HI,
I have a value x=0.032949.
if x >= 0.0001 then y=put(round(x,0.0001),7.4);
I am getting x=0.017.
Where as I should be getting 0.0329.
Why is this happening?
How do I fix this?
Thanks,
Archana
Post your full code and the log.
I suspect something is going on with your y variable as I can't reproduce your error with this program:
data junk;
x=0.032949;
if x >= 0.0001 then y=put(round(x,0.0001),7.4);
run;
I get the expected value.
And your reason for not using y=put(x,7.4); is exactly what?
SAS version? OS?
I couldn't repeat your issue.
23 data _null_ ; 24 x=0.032949; 25 y=put(round(x,0.0001),7.4); 26 put y=; 27 run; y=0.0329 NOTE: DATA statement used (Total process time): real time 0.00 seconds cpu time 0.00 seconds
Following syntax is giving right numbers. Look for Y variable instead of X for rounded numbers
data _null_;
x=0.032949;
if x >= 0.0001 then y=put(round(x,0.0001),7.4);
put _all_;
run;
Post your full code and the log.
I suspect something is going on with your y variable as I can't reproduce your error with this program:
data junk;
x=0.032949;
if x >= 0.0001 then y=put(round(x,0.0001),7.4);
run;
I get the expected value.
And your reason for not using y=put(x,7.4); is exactly what?
Available on demand!
Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.