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.

sas-innovate-2026-white.png



April 27 – 30 | Gaylord Texan | Grapevine, Texas

Registration is open

Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!

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
  • 557 views
  • 2 likes
  • 3 in conversation