0

我希望能够在 IOS 中将字符串向左填充到一定的字符长度。我的字符串是长度不同的 ID 号:

1 
12 
356 
456089

我需要它们看起来像这样:

00000000001 
00000000012 
00000000356 
00000456089

在 PHP 中,我会使用 str_pad() 函数:

$pad_Length = 11;
$padded_string = str_pad($input_string, $pad_Length, "0", STR_PAD_LEFT);            

这是如何在 iOS / Objective-C 中完成的?

回答:

NSString *input_string = @"123";
int pad_Length = 11;
NSString *padding = [@"" stringByPaddingToLength: pad_Length - [input_string length] 
                                      withString: @"0" 
                                 startingAtIndex: 0];
NSString *padded_string = [padding stringByAppendingString: input_string];
4

2 回答 2

5

我没有测试过这个但是

NSString* stringToPad = @"123";
NSString* padding = [@"" stringByPaddingToLength: 11 - [stringToPad length] 
                                      withString: @"0" 
                                 startingAtIndex: 0];
NSString* result = [padding stringByAppendingString: stringToPad];

文档stringByPaddingToLength:withString:startingAtIndex:

于 2013-08-16T15:40:47.137 回答
2

您好,您可以尝试将 NSString 转换为 Integer,如下所示:

NSArray *strs=[NSArray arrayWithObjects:@"123",@"9234",@"125",@"5123", nil];
    for (NSString *str in strs) {
        NSInteger i=[str integerValue];
        NSString *paddedStr=[NSString stringWithFormat:@"%011d",i];
        NSLog(@"%011d",i);
    }
于 2013-08-16T15:17:55.547 回答