我想在NSInteger
的开头保持零,但是当我NSLog
时,零被移除。
NSInteger myInteger = 05;
NSLog("%d", myInteger);
log:5
我得到5
而不是05
。如何将0
保留在整数的开头?
答案 0 :(得分:16)
NSInteger没有“领先”零。你在想一个数字格式的东西。
如果您只想通过“NSLog
”打印出前导零,请尝试以下操作:
NSLog( "%02d", myInteger);
指示NSLog有两位数字,如果它没有达到两位数,则执行前导零。
看看printf format specifiers(NSLog试图遵守的那个),你会看到如何在那里添加前导零。
答案 1 :(得分:2)
我不确定,但我认为这是一个关于如何编写"%d"
标志的问题。所以你要使用NSLog(@"%03d", var);
。
它将打印005。
答案 2 :(得分:1)
这是字符串的工作原理:
INT
字符串(格式:“%05.2f”,5.0)将输出:05.00
DOUBLE
String(格式:“%02d”,5)将输出:05
答案 3 :(得分:0)
如果你需要它只是为了记录尝试像这样
NSLog(@"0%d" , 5) ;
或者如果您需要在屏幕上打印它,请转换为格式为的字符串:
NSString *result = [[NSString alloc]initWithFormat:@"0%d" , yourInteger] ;