DATA Step, Macro, Functions and more

Format

Accepted Solution Solved
Reply
Contributor
Posts: 33
Accepted Solution

Format

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


Accepted Solutions
Solution
‎02-24-2018 05:26 PM
PROC Star
Posts: 1,401

Re: Format

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


All Replies
Solution
‎02-24-2018 05:26 PM
PROC Star
Posts: 1,401

Re: Format

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;
Super User
Super User
Posts: 8,279

Re: Format

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.

Super User
Posts: 6,934

Re: Format

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.

☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 3 replies
  • 258 views
  • 2 likes
  • 4 in conversation