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. .
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.