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

ghi*_*boz 97 string formatting objective-c

我用这个代码:

NSString* strName = [NSString stringWithFormat:@"img_00%d.jpg", pp];
Run Code Online (Sandbox Code Playgroud)

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

谢谢

Gum*_*mbo 246

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


McU*_*Usr 5

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

NSString *nmbrStr = @"0033620340000" ;
NSDecimalNumber *theNum = [[NSDecimalNumber decimalNumberWithString:nmbrStr]decimalNumberByAdding: [NSDecimalNumber one]] ;     
NSString *fmtStr = [NSString stringWithFormat:@"%012.0F",[theNum doubleValue]] ;
Run Code Online (Sandbox Code Playgroud)

尽管此信息很难找到,但它实际上已记录在格式基础下的第二段中。寻找 % 字符。

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