Printing leading 0's in C
printf("%05d", zipCode);
The 0
indicates what you are padding with and the 5
shows the width of the integer number.
Example 1: If you use "%02d"
(useful for dates) this would only pad zeros for numbers in the ones column. E.g., 06
instead of 6
.
Example 2: "%03d"
would pad 2 zeros for one number in the ones column and pad 1 zero for a number in the tens column. E.g., number 7 padded to 007
and number 17 padded to 017
.
The correct solution is to store the ZIP Code in the database as a STRING. Despite the fact that it may look like a number, it isn't. It's a code, where each part has meaning.
A number is a thing you do arithmetic on. A ZIP Code is not that.
You place a zero before the minimum field width:
printf("%05d", zipcode);