BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
WilliamB
Obsidian | Level 7

Hello,
In a table I have character variables of the type:

 

389,546,254

28,254,258

1,252,546,533

 

How to make this variable character, numerically, which format to use?

 

Thanks for your help

1 ACCEPTED SOLUTION

Accepted Solutions
PeterClemmensen
Tourmaline | Level 20

Do like this

 

data have;
input CharVar $20.;
datalines;
389,546,254
28,254,258
1,252,546,533
;

data want;
   set have;
   NumVar=input(CharVar, Comma20.2);
   format CharVar comma20.2;
run;

proc print data=want;run;

View solution in original post

3 REPLIES 3
PeterClemmensen
Tourmaline | Level 20

Do like this

 

data have;
input CharVar $20.;
datalines;
389,546,254
28,254,258
1,252,546,533
;

data want;
   set have;
   NumVar=input(CharVar, Comma20.2);
   format CharVar comma20.2;
run;

proc print data=want;run;
Tom
Super User Tom
Super User

Did you really want to convert '389,546,254' into 3,895,462.54?
If not then do NOT include a decimal specification on the INFORMAT.  That is telling SAS where to place the decimal point when the input stream does not have one.

Astounding
PROC Star

This works:

 

numvar = input(charvar, comma15.);

 

You can't change the existing variable from character to numeric.  You have to assign the numeric value to a new variable.

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
  • 3 replies
  • 1644 views
  • 3 likes
  • 4 in conversation