生成随机负NSInteger

时间:2017-03-03 10:39:50

标签: ios objective-c random nsinteger

我尝试使用以下代码生成随机否定NSInteger,

+ (NSInteger)getNegativeRandomNumber {
    uint32_t random = arc4random_uniform(2147483647); // where 2147483647 is the max 32-bit positive value returned by random function
    return (NSInteger)(-1 * random); // convert the positive into negative number
}

但偶尔这段代码会给我正数。你看到这个代码有什么问题吗?

2 个答案:

答案 0 :(得分:2)

您使用

获得负数
return -(NSInteger)random;

您需要第一个才能转换为签名类型。

答案 1 :(得分:0)

这肯定有帮助......

-(int) generateRandomNumberWithlowerBound:(int)0
                               upperBound:(int) 2147483647
{
    int rndValue = lowerBound + arc4random() % (upperBound - lowerBound);
    return -(NSInteger)(rndValue);
}