2015-06-24 28 views
1

我正在快速开发iPhone应用程序,并且需要始终生成负号的随机数。Swift中的负数

我知道如何生成随机数,但似乎没有想出一种方法来生成负数只有

+12

你能把你的结果乘以'-1'吗? –

+2

什么*范围*你想要什么,分配*?你使用的发电机返回什么? – Bathsheba

+1

虽然我想知道是否有一些在Swift中定义的具体方法,但有很多临时方法与-1相乘。 –

回答

12

请尽量使用这一个

let lowerValue = -100 
let upperValue = 0 
let result = Int(arc4random_uniform(UInt32(upperValue - lowerValue + 1))) + lowerValue 

print(result) 

Output 

-81

+1

感谢您的回答,尽管我正在寻找一种快速定义的具体方法。奇怪的是,没有选择在Swift中实现它。 –

+0

@TaranGoel它在Swift中实现。 –

+0

@vacawama完成:) –

4
var randomNumber = -1 * Int(arc4random_uniform(UInt32(5))) 

5将确保随机数生成虽然零到五。

4

这是你的功能,我相信:

extension Int { 

/// Generates a random `Int` within `0...100` 
public static func random() -> Int { 
    return random(0...100) 
} 

/// Generates a random `Int` inside of the closed interval. 
public static func random(interval: ClosedInterval<Int>) -> Int { 
    return interval.start + Int(arc4random_uniform(UInt32(interval.end - interval.start + 1))) 
} 

} 

用例:

Int.random(-10...0) 

它是由RandomKit库中提取的 - 它看起来出于各种目的非常有用的。