Convert values from character to numeric or from numeric to character.
Convert values from character to numeric or from numeric to character\Convert variable values using either the INPUT or PUT function.
Convert a character value to a numeric value by using the INPUT function. Specify a numeric informat that best describes how to Read the data value into the numeric variable. When changing types a new variable name is required. If you need to keep the original variable name for the new type, use the RENAME= option as illustrated in Sample 2.
data char;
input string :$8. date :$6.;
numeric=input(string,8.);
sasdate=input(date,mmddyy6.);
format sasdate mmddyy10.;
datalines;
1234.56 031704
3920 123104;
proc print;
run;
data now_num;
input num date: mmddyy6.;
datalines;
123456 110204
1000 120504;
run;
data now_char;
set now_num (rename=(num=oldnum date=olddate));
num=put(oldnum,6. -L);
date=put(olddate,date9.);
run;
proc print;
run;
Convert a character value to a numeric value by using the INPUT function. Specify a numeric informat that best describes how to Read the data value into the numeric variable. When changing types a new variable name is required. If you need to keep the original variable name for the new type, use the RENAME= option as illustrated in Sample 2.
data char;
input string :$8. date :$6.;
numeric=input(string,8.);
sasdate=input(date,mmddyy6.);
format sasdate mmddyy10.;
datalines;
1234.56 031704
3920 123104;
proc print;
run;
data now_num;
input num date: mmddyy6.;
datalines;
123456 110204
1000 120504;
run;
data now_char;
set now_num (rename=(num=oldnum date=olddate));
num=put(oldnum,6. -L);
date=put(olddate,date9.);
run;
proc print;
run;
Here is how to convert Numeric date with yymmdd8. format to mmddyy10. format.
data datec;
input numdate;
date =input(put(numdate,z8.),yymmdd8.);
format date mmddyy10.;
datalines;
20040625
20081219
;
run;
Thanks, I was just trying to figure this out, and came across your blog. It was just what I was looking for.
ReplyDeleteMy problem is the data in numerical, this is wind in degrees of direction. I have to replace values with the directions in names: N, NNE, ENE and CALM for 0 degree direction.
ReplyDeleteI tried several ways, the output comes as missing values or/and creates variables with the names of directions.... Could you help me please.....
I could help if you can share your data?
ReplyDeleteSarath
my input is:-
ReplyDelete1 2 3 4 5 6
1 2 3 4 5 6
1 2 3 4 5 6
1 2 3 4 5 6
1 2 3 4 5 6
1 2 3 4 5 6
After SAS operation
Output should be :
1 2 3 4 5 6
2 3 4 5 6
3 4 5 6
5 6
6