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

I have a character string that look like the following

5000000

4000000

3000000

 

I want it to show as

05000000

04000000

03000000

 

I know I can concatenate a leading zero to fix this, but There are many rows in the dataset that are missing this leading zero. I am looking for some kind of formating.

1 ACCEPTED SOLUTION

Accepted Solutions
novinosrin
Tourmaline | Level 20


data have;
input str $10.;
cards;
5000000
4000000
3000000
;

data want;
set have;
want=put(input(str,32.),z8.);
run;

View solution in original post

3 REPLIES 3
PeterClemmensen
Tourmaline | Level 20

So you want it formated to a fixed length of 8 correct?

novinosrin
Tourmaline | Level 20


data have;
input str $10.;
cards;
5000000
4000000
3000000
;

data want;
set have;
want=put(input(str,32.),z8.);
run;
Ksharp
Super User

data have;
input str $10.;
cards;
5000000
4000000
3000000
;

data want;
 set have;
 length want $ 8;
 want=left(str);
 want=translate(right(want),'0',' ');
run;
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
  • 985 views
  • 0 likes
  • 4 in conversation