Generate Random Numbers with Fixed Digits Length?

扶醉桌前 提交于 2019-12-10 15:38:41

问题


I am generating Random Number with

int randomID = arc4random() % 3000;

But I want to generate random number with atleast 4 digits. like 1000, 2400, 1122

I want to know the code for Objective C.


回答1:


Please try

generate numbers :1000~9999

int randomID = arc4random() % 9000 + 1000;

generate numbers :1000~2999

int randomID = arc4random() % 2000 + 1000;



回答2:


At least four digits, right?

So you need something with flexibility:

-(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;
}

and use it like so:

NSString *newPINString = [self getRandomPINString:4];


来源:https://stackoverflow.com/questions/19051860/generate-random-numbers-with-fixed-digits-length

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!