我想在 my 的开头保留零NSInteger
,但是当 iNSLog
它时,零被删除。
NSInteger myInteger = 05;
NSLog("%d", myInteger);
日志:5
我得到5
而不是05
. 我怎样才能保持0
整数的开头?
NSInteger 不做“前导”零。您正在考虑数字格式。
如果您只想通过“ NSLog
”打印前导零,请尝试以下操作:
NSLog( "%02d", myInteger);
它指示 NSLog 有两位数,如果没有达到两位数,则执行前导零。
看一下printf 格式说明符(NSLog 试图遵守),你会看到前导零是如何添加到那里的。
我不确定,但我认为这是你如何写你的"%d"
标志的问题。所以你可以使用NSLog(@"%03d", var);
.
它将打印 005。
这是它对字符串的工作方式:
INT
String(format:"%05.2f", 5.0) 将输出:05.00
双倍的
String(format:"%02d", 5) 将输出:05
如果您只需要它来记录,请像这样尝试
NSLog(@"0%d" , 5) ;
或者如果您需要在屏幕上打印它,请转换为格式为字符串:
NSString *result = [[NSString alloc]initWithFormat:@"0%d" , yourInteger] ;