Add Leading Zeros to Numeric Variable in SAS

In this example page, we demonstrate how to add leading zeros to a numeric variable in SAS. The first choice to do so for many SAS programmers is some kind of concatenation. This is reasonable from a logical standpoint. However, there is a much simpler and faster way to do so. The Z. Format.

Add Leading Zeros to Numeric Variable in SAS with the Z. Format

Let us see a simple example of how to add leading zeros to a numeric variable. Simply by applying the Z. Format. In most cases, we want to add leading zeros up to some specified width. Naturally, we have to consider up to what width we wish to apply the leading zeros. In this case, I choose a width of 10.

data want;
   set have;
   format x z10.;
run;

If you open the data set, you will see that x has leading zeros up to the specified width of 10. Like below.

x
0000000001 
0000000012 
0000000123 
0000001234 
0000012345 
0000123456 
0001234567 
0012345678 
0123456789

Obviously, we can apply the format directly in reporting procedures as well.

proc print data = have;
   format x z10.;
run;

A classic use of the Z. Format is to create a new variable. A character representation of the numeric value with a fixed width. Again, the Z. Format is the perfect tool for this purpose.

data want;
   set have;
   y = put(x, z10.);
run;

Summary

In this short example page, we demonstrate how to add leading zeros to a numeric variable in SAS. The solution to this problem is simpler than most SAS programmers think at first. We simply apply the Z. format, which does the work for us.

You can download the entire code from this example page here.