Solved
Contributor
Posts: 33

# 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?

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;``````

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
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.