web-dev-qa-db-ja.com

フォーマット文字列、先行ゼロ付き整数

私はこのコードを使用します:

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

そして正常に動作しますが、たとえば、ppの値が10だった場合、img_0010.jpgではなくimg_010.jpgが必要です...文字列をフォーマットするにはどうすればよいですか?

ありがとう

97
ghiboz

書式文字列"img_%03d.jpg"を使用して、3桁で先行ゼロの10進数を取得します。

246
Gumbo

子孫の場合:これは10進数で機能します。

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

この情報を見つけるのは難しいですが、実際にはフォーマットの基本の2番目の段落でここに文書化されています。 %文字を探します。

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

4
McUsr