11

「1」を「01」として表示する方法を探しているので、基本的に10未満のすべてに先行0を付ける必要があります。

これを行うための最良の方法は何でしょうか?単純なif構造を使用してこのチェックを実行できることはわかっていますが、これはNSNumberformatterで可能になるはずです。

4

2 に答える 2

24

NSStringが必要な場合は、次のようにするだけです。

NSString *myNumber = [NSString stringWithFormat:@"%02d", number];

これ%02dはCからのものです。%ndは、文字列に少なくともn文字が含まれている必要があることを意味し、それより少ない場合は0を埋め込みます。次に例を示します。

NSString *example = [NSString stringWithFormat:@"%010d", number];

number変数の長さが2桁しかない場合は、接頭辞として8つのゼロが付きます。9桁の長さの場合、接頭辞として1つのゼロが付きます。

NSNumberFormatterを使用する場合は、次のように実行できます。

NSNumberFormatter * numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setPaddingPosition:NSNumberFormatterPadBeforePrefix];
[numberFormatter setPaddingCharacter:@"0"];
[numberFormatter setMinimumIntegerDigits:10];
NSNumber *number = [NSNumber numberWithInt:numberVariableHere];

----更新------これで問題は解決すると思います。

[_minutes addObject:[NSNumber numberWithInt:i]];
return [NSString stringWithFormat:@"%02d", [[_minutes objectAtIndex:row] intValue]]; 
于 2012-06-21T04:28:56.490 に答える