5

我正在生成随机数

int randomID = arc4random() % 3000;

但我想生成至少 4 位的随机数。像 1000、2400、1122

我想知道Objective C的代码。

4

2 回答 2

24

请试试

生成数字:1000~9999

int randomID = arc4random() % 9000 + 1000;

生成数字:1000~2999

int randomID = arc4random() % 2000 + 1000;
于 2013-09-27T13:24:06.910 回答
8

至少四位数,对吧?

所以你需要一些灵活的东西:

-(NSString *)getRandomPINString:(NSInteger)length
{
    NSMutableString *returnString = [NSMutableString stringWithCapacity:length];

    NSString *numbers = @"0123456789";

    // First number cannot be 0
    [returnString appendFormat:@"%C", [numbers characterAtIndex:(arc4random() % ([numbers length]-1))+1]];

    for (int i = 1; i < length; i++)
    {
        [returnString appendFormat:@"%C", [numbers characterAtIndex:arc4random() % [numbers length]]];
    }

    return returnString;
}

并像这样使用它:

NSString *newPINString = [self getRandomPINString:4];
于 2013-09-27T13:44:36.343 回答