Hi there
I'm trying to convert a character string - which is in fact numeric, into numeric - 0.74144, 3.533, 4.578612
I've tried SLOPE_DEG = INPUT(SLOPE_DEG,6.4); but this just returns empty spaces.
Any ideas?
Thanks
Mat
If you convert character to numeric, you must create a new variable. SLOPE_DEG is of type character and will stay type character.
data have;
input slope_deg $;
cards;
0.74144
3.533
4.578612
;
run;
data want;
set have;
slope_deg_num = input(slope_deg,best.);
run;
proc print;run;
returns this output:
slope_ slope_ Obs deg deg_num 1 0.74144 0.74144 2 3.533 3.53300 3 4.578612 4.57861
If you convert character to numeric, you must create a new variable. SLOPE_DEG is of type character and will stay type character.
data have;
input slope_deg $;
cards;
0.74144
3.533
4.578612
;
run;
data want;
set have;
slope_deg_num = input(slope_deg,best.);
run;
proc print;run;
returns this output:
slope_ slope_ Obs deg deg_num 1 0.74144 0.74144 2 3.533 3.53300 3 4.578612 4.57861
Use best12. Or best32 as your informat.
Setting it to 6.4 tells SAS to look for an number that has 5 digits + 1 decimal point for a width of 6 and 4 of those 5 digits are after the decimal point. That's not your format based on the samples you've posted. .
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
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.
Ready to level-up your skills? Choose your own adventure.