我正在尝试将int转换为objective-C中的字符串。
我读了关于将int转换为字符串的其他问题,我在我的代码中尝试了这个方法:
-(void)setCounter:(int)count
{
counterText.text = [NSString stringWithFormat:@"%d",count];
}
但是,如果我想显示一个像'01'这样的数字,0将从转换中取出,并且只显示“1”。有解决方法吗?
答案 0 :(得分:10)
没有01
这样的号码。如果你写
int count = 01;
它与
等效编译int count = 1;
事实上,请注意:07
相当于7
,但是011
is equivalent to 9
!
你可以做的是让stringWithFormat:
给你零填充:
[NSString stringWithFormat:@"%02d",count]
如果"02"
是2,应该给你count
。要解构它:
% - interpolate the next value here
0 - pad it to the width by placing zeroes on the left side
2 - width is 2 characters
d - it will be an integer. Do it now.
答案 1 :(得分:1)
如果您想要与显示的格式不同,请使用它:
counterText.text = [NSString stringWithFormat:@"%02d",count];
格式字符串有一个巨大的范围。
答案 2 :(得分:0)
如果任何数字从0开始则是八进制表示(0 - 7)。你可以使用下面的行明确地添加零。
counterText.text = [NSString stringWithFormat:@"0%d",count];
答案 3 :(得分:0)
退房..
NSNumber + numberWithInt
然后: NSNumberFormatter -setMinimumIntegerDigits
然后获取字符串表示形式: NSString -stringFromNumber