在C中打印前导0的方法

12 浏览
0 Comments

在C中打印前导0的方法

我正在尝试找到一种良好的方法来打印前导零,比如ZIP码01001。尽管该数字将储存为1001,但什么是好的方法来实现它?

我考虑使用case语句或if来计算数字有多少个数字,然后将其转换为带有额外0char数组以进行打印,但我无法想到可能逃避我的printf格式语法。

admin 更改状态以发布 2023年5月21日
0
0 Comments

正确的解决方法是将邮政编码以字符串形式存储在数据库中。尽管它看起来像一个数字,但实际上它不是。它是一个有意义的代码,每个部分都有特定含义。

数字可以进行算术运算,而邮政编码不是这样的。

0
0 Comments

printf("%05d", zipCode);

其中0表示你要填充的内容,5则表示整数数字的宽度。

例如1:如果你使用"%02d"(适用于日期),这只会在个位数列中填充0。例如,06而不是6

例如2:使用"%03d"将为个位数列中的一项填充2个0,并为十位数列中的一项填充1个0。例如:数字7填充为007,数字17填充为017

0