Geo*_*ton 37 cocoa-touch objective-c ios
我有以下变量:
NSNumber *consumption = [dict objectForKey:@"con"];
Run Code Online (Sandbox Code Playgroud)
返回42.如何将此数字填充到左侧的10位数,以零为前导.输出应该看起来像,
0000000042
或者如果它是420,
0000000420
tas*_*oor 97
NSString *paddedStr = [NSString stringWithFormat:@"%010d", 42];
Run Code Online (Sandbox Code Playgroud)
编辑:这是C风格的格式.%nd表示宽度至少为n.因此,如果整数长度为2位,那么您将使用长度为3的字符串(使用%3d时).默认情况下,左侧空白空间由空格填充.%0nd(%和n之间的0)表示0用于填充而不是空格.这n是总长度.如果整数小于n数字,则使用左填充.
Dee*_*olu 15
的Objective-C方式,
NSNumberFormatter * numberFormatter = [[[NSNumberFormatter alloc] init] autorelease];
[numberFormatter setPaddingPosition:NSNumberFormatterPadBeforePrefix];
[numberFormatter setPaddingCharacter:@"0"];
[numberFormatter setMinimumIntegerDigits:10];
NSNumber * number = [NSNumber numberWithInt:42];
NSString * theString = [numberFormatter stringFromNumber:number];
NSLog(@"%@", theString);
Run Code Online (Sandbox Code Playgroud)
但C方式更快.
你不能在NSNumber自己身上.如果您要使用数字或使用创建字符串NSLog(),只需使用适当的格式,例如
NSLog(@"%010d", [consumption intValue]);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20901 次 |
| 最近记录: |