一、rand()函数
用户未设定随机种子时,系统默认的随机种子为1;
rand()产生的是伪随机数字,每次执行时是相同的,若要不同,用函数srand()
初始化。
公式:产生[a,b)的随机数
srand((unsigned)time(NULL));
int num = (rand()%(b-a))+a;
NSLog(@"%d",num);
产生[a,b]的随机数
srand((unsigned)time(NULL));
int num = (rand()%(b-a+1))+a;
NSLog(@"%d",num);
二、arc4random()函数
产生[from,to)的随机数
from+(arc4random()%(to-from));
产生[from,to]的随机数
from+(arc4random()%(to-from+1));
产生[0,x]的正整数
arc4random_uniform(x+1);
产生[0,x)的随机浮点数
//1、先定义宏
#define ARC4RANDOM_MAX 0x100000000
//2、floorf:向下取整,round:四舍五入,ceil:向上取整
floorf(((double)arc4random() / ARC4RANDOM_MAX) * x);
随机生成字符串
- (NSString *)randomString
{
NSString *sourceString = @"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
NSMutableString *resultString = [[NSMutableString alloc]init];
//其中length为要生成的随机字符串的长度
for (int i = 0; i < length; i++) {
[resultString appendString:[sourceString substringWithRange:NSMakeRange(arc4random() % sourceString.length, 1)]];
}
return resultString;
}