Hi,
I want to convert a already read in variable into a character - the opposite of e.g new_breed=breed*1
I am thankful for any help 🙂
You cannot convert a numeric variable to character.
You can make a new character variable from a numeric variable.
char_var = put ( num_var, 5.);
or use whatever format works in your case
Thanks for your help.
What is the 5 for?
Sorry, I'm new to SAS... 🙂
Hi:
The 5. is a FORMAT -- it is the format that SAS uses to make the conversion. So, for example, if you have this zip=123 and you want to make charzip = 00123 as a character variable then you would use the z5. format, like this:
charzip = put(zip,z5.);
Or, if you have this: area=303 and you want this: char_area (303), then you would do:
char_area=catt('(',put(area,3.),')'); (concatenate the ( and ) with the character string 303 after the PUT function.
We teach about the PUT and INPUT functions and variable conversions in the Programming 2 class.
cynthia
new_breed=breed*1 triggers auto-converting "breed" to numeric so that the multiplication is possible. If you are sure, that an char-variable can be converted to numeric, use the input-function. That way you don't get tons of notes in the log and with the proper format you can convert non-english numbers to numbers.
Example:
data demo;
a = '1.016,052';
b = input(a, commax15.);
run;
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9.
Early bird rate extended! Save $200 when you sign up by March 31.
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.