Xcode iPhone SDK - 开始时保持NSInteger为零

时间:2012-05-28 22:12:46

标签: ios xcode nsinteger

我想在NSInteger的开头保持零,但是当我NSLog时,零被移除。

NSInteger myInteger = 05;
NSLog("%d", myInteger);
  

log:5

我得到5而不是05。如何将0保留在整数的开头?

4 个答案:

答案 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] ;