int转string时候保留前导位0

今天遇到了一个问题,int转string的时候,要是08转成string的时候,会变成“8”,前面的0就会消失。

使用的方法:

NSString *stringYear = [[NSStringalloc] initWithFormat:@"%d", intYear];

解决方法:在转换的时候%号前面加上对齐控制就可以啦~

NSString *stringYear = [[NSStringalloc] initWithFormat:@"%02d", intYear];


就和十六进制上的方法类似: 十六进制格式化输出 2字节对齐

"%02x",是以0补齐2位数,如果超过2位就显示实际的数;
"%hhx" 是只输出2位数,即便超了,也只显示低两位;
 
因此有了"%02hhx"

点击(此处)折叠或打开

  1. void hexdump(char *buf, int num)
  2. {
  3. . int i;

  4. . for(= 0; i < num; i++) {
  5. . . printf("%02hhx\t", buf[i]);
  6. . . if ((i+1)%== 0) {
  7. . . . printf("\n");
  8. . . }
  9. . }
  10. . printf("\n");
  11. }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值