今天遇到了一个问题,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"
点击(此处)折叠或打开
- void hexdump(char *buf, int num)
- {
- . int i;
-
- . for(i = 0; i < num; i++) {
- . . printf("%02hhx\t", buf[i]);
- . . if ((i+1)%8 == 0) {
- . . . printf("\n");
- . . }
- . }
- . printf("\n");
- }