猿问

打印以C为单位的0?

打印以C为单位的0?

我正试图找到一种很好的打印前0的方法,比如01001的邮政编码。当这个数字被存储为1001的时候,有什么好的方法可以做到呢?

我想使用任何一个case语句/if然后计算出这个数字是多少位数,然后将其转换为一个字符数组,再加上额外的0,以供打印,但我不得不认为,可能有一种方法可以用printf格式语法来避免我的操作。


拉丁的传说
浏览 446回答 3
3回答

一只甜甜圈

printf("%05d", zipCode);

慕标5832272

正确的解决方案是将邮政编码作为字符串存储在数据库中。尽管它看起来像一个数字,但它不是,它是一个代码,每个部分都有意义。数字是你做算术的一件事。邮编不是那样的。

一只名叫tom的猫

如果你在一台*尼克斯机器上:man 3 printf这将显示一个手册页面,类似于:0值应为零填充。对于d,i,o,u,x,X,a,A,e,E,f,F,g和G变换,转换值在左边用零填充,而不是空白。如果0和-标志同时出现,则忽略0标志.如果用数字转换(d、i、o、u、x和x)给出精度,则忽略0标志。对于其他转换,行为是未定义的。即使问题是针对C,这,这个页可能有帮助。
随时随地看视频慕课网APP
我要回答