2

我想在 my 的开头保留零NSInteger,但是当 iNSLog它时,零被删除。

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

日志:5

我得到5而不是05. 我怎样才能保持0整数的开头?

4

4 回答 4

16

NSInteger 不做“前导”零。您正在考虑数字格式。

如果您只想通过“ NSLog”打印前导零,请尝试以下操作:

NSLog( "%02d", myInteger);

它指示 NSLog 有两位数,如果没有达到两位数,则执行前导零。

看一下printf 格式说明符(NSLog 试图遵守),你会看到前导零是如何添加到那里的。

于 2012-05-28T22:18:26.347 回答
2

我不确定,但我认为这是你如何写你的"%d"标志的问题。所以你可以使用NSLog(@"%03d", var);.

它将打印 005。

于 2012-05-28T22:19:28.413 回答
1

这是它对字符串的工作方式:

INT

String(format:"%05.2f", 5.0) 将输出:05.00

双倍的

String(format:"%02d", 5) 将输出:05

于 2014-02-17T07:32:49.623 回答
0

如果您只需要它来记录,请像这样尝试

NSLog(@"0%d" , 5) ;

或者如果您需要在屏幕上打印它,请转换为格式为字符串:

NSString *result = [[NSString alloc]initWithFormat:@"0%d" , yourInteger] ;
于 2012-05-28T22:24:59.973 回答