天天看点

生成一定范围内的随机数

生成方法如下:

+(NSInteger)getRandomNumber:(NSInteger)from to:(NSInteger)to

{
    //eg:[,) 包含 ,不包含;
    return (NSInteger)(from + (arc4random() % (to - from + )));

}
           

Objective-C 中有个arc4random()函数用来生成随机数且不需要种子,但是这个函数生成的随机数范围比较大,需要用取模的算法对随机值进行限制,有点麻烦。

其实Objective-C有个更方便的随机数函数arc4random_uniform(x),可以用来产生0~(x-1)范围内的随机数,不需要再进行取模运算。如果要生成1~x的随机数,可以这么写:arc4random_uniform(x)+1。

+(NSInteger)getRandomNumber:(NSInteger)from to:(NSInteger)to

{
    //eg:[,) 包含 ,不包含;
    return (NSInteger)(arc4random_uniform(to-from)+from);

}