生成0-x之间的随机正整数 int value =arc4random_uniform(x + 1); 生成随机正整数 int value = arc4random(); 通过arc4random() 获取0到x-1之间的整数的代码如下: int value = arc4random() % x; 获取1到x之间的整数的代码如下: int value = (arc4random() % x) + 1; 最后如果想生成一个浮点数,可以在项目中定义如下宏: #define ARC4RANDOM_MAX 0x100000000 然后就可以使用arc4random() 来获取0到100之间浮点数了(精度是rand()的两倍),代码如下: double val = floorf(((double)arc4random() / ARC4RANDOM_MAX) * 100.0f);
最后来一段生成任意长度的随机字符串方法:
// 生成字符串长度 #define kRandomLength 10 // 随机字符表 static const NSString *kRandomAlphabet = @"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; int main(int argc, const char * argv[]) { @autoreleasepool { // insert code here... NSMutableString *randomString = [NSMutableString stringWithCapacity:kRandomLength]; for (int i = 0; i < kRandomLength; i++) { [randomString appendFormat: @"%C", [kRandomAlphabet characterAtIndex:arc4random_uniform((u_int32_t)[kRandomAlphabet length])]]; } NSLog(@"randomString = %@", randomString); } return 0; }
已有1278位网友发表了看法:
发表评论