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. .
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.