Hi All,
Need your help on below data to preserve trailing zeros while conversion from character to Numeric.
Please suggest if there is any possibility.I need final variable in best. numeric format.
data x;
input test $ 1-8;
datalines;
10000
10.305
0.140
0.1305
;
data xx;
set x;
try=input(test,best.);
run;
proc print data=xx;run;
Numbers do not have trailing, or leading zeroes by default. 0.140 is exactly the same as 0.14, but fewer display characters. Hence your use of best is correct. If for some reason you need to keep the values exactly as given then you would either need to:
a) fix number of decimals for every value
b) stick with character, maybe have a secondary numeric version
The second is always my preferred option, and in my industry pretty standard. Keep the text for display - has however many extra bits and can be different for each item, and a numeric version for processing.
The number of displayed trailing zeros will be determined by the format you use. eg 12.4 will always display 4 fractional digits, regardless of numeric content.
1.0000
2.1234
3.1200
etc
Numbers do not have trailing, or leading zeroes by default. 0.140 is exactly the same as 0.14, but fewer display characters. Hence your use of best is correct. If for some reason you need to keep the values exactly as given then you would either need to:
a) fix number of decimals for every value
b) stick with character, maybe have a secondary numeric version
The second is always my preferred option, and in my industry pretty standard. Keep the text for display - has however many extra bits and can be different for each item, and a numeric version for processing.
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.