BookmarkSubscribeRSS Feed
alagiejatta
Calcite | Level 5

I have numerical lab results that come in as character values (eg 0.1, 1.5 etc). I wanted to multiply this values by 1000 and keep them as character values.

2 REPLIES 2
Tom
Super User Tom
Super User

Informats convert text to values.  Formats convert values to text.

data want;
  set have;
  string = put(1000*input(string,32.),best32.-L);
run;

Change HAVE , STRING and WANT to match the names of the datasets and variable you have.

If STRING is shorter than 32 bytes long then adjust the format specification used with the PUT() function accordingly.  You don't need to adjust the informat since the INPUT() function dose not care if the width used in the informat specification is larger than the length of the string being read.

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 334 views
  • 2 likes
  • 3 in conversation