DATA Step, Macro, Functions and more

How to confine number of digits of a number in SAS

Reply
Contributor
Posts: 25

How to confine number of digits of a number in SAS


Hello all,

I have a list of numbers under variable A:

A

1

3

45

5

4567

234

33

Now I want to get

A

00000001

00000003

00000045

00000005

00004567

00000234

00000033

Each number now will have 8 digits.

How to do it in SAS?

Thanks so much!

Cindy

Super User
Posts: 10,538

Re: How to confine number of digits of a number in SAS

Is A numeric or character?

If numeric do you actually need a new variable or for it just to appear with leading zeroes? In this case you can just assign a format to display with zeroes: Format a z8. ;

If A is character there's a number of ways but

A = put(input(a, best8.),z8.) ; might work.

Contributor
Posts: 25

Re: How to confine number of digits of a number in SAS

Thanks!'

It is numeric, and I don't want to create a new variable.

If I want to merge two tables based on A (one table displays with zero, one table does not ), will changing formating work?

Regular Contributor
Posts: 180

Re: How to confine number of digits of a number in SAS

If A is numeric in both SAS tables you should be able to merge the tables without changing anything.
The internal representation of A (numeric variable) is the same in both tables. The diference in the display should be because of the format in the table: Z8. (with leading zeroes) v.s. 8. or best8. or none (without leading zeroes)

Ask a Question
Discussion stats
  • 3 replies
  • 214 views
  • 0 likes
  • 3 in conversation