生成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;
}


你可能感兴趣的文章

评论区

发表评论

必填

选填

选填

必填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

您好,欢迎到访网站!
  [查看权限]

«   2018年9月   »
12
3456789
10111213141516
17181920212223
24252627282930