格式化字符串,带前导零的整数

时间:2010-06-06 17:40:42

标签: objective-c string formatting

我使用此代码:

NSString* strName = [NSString stringWithFormat:@"img_00%d.jpg", pp];

并且工作正常,但如果pp取值10例如我希望img_010.jpg作为结果,而不是img_0010.jpg ... 我该如何格式化字符串?

感谢

2 个答案:

答案 0 :(得分:244)

使用格式字符串"img_%03d.jpg"获取带有三位数和前导零的十进制数字。

答案 1 :(得分:4)

对于后代:这适用于十进制数字。

NSString *nmbrStr = @"0033620340000" ;
NSDecimalNumber *theNum = [[NSDecimalNumber decimalNumberWithString:nmbrStr]decimalNumberByAdding: [NSDecimalNumber one]] ;     
NSString *fmtStr = [NSString stringWithFormat:@"%012.0F",[theNum doubleValue]] ;

虽然很难找到这些信息,但实际上这是在格式化基础知识的第二段中记录的。寻找%字符。

https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/Strings/Articles/FormatStrings.html