在两个整数值之间生成Swift中的随机值
我试图在两个整数之间生成随机值。我试过这个,从0开始在两个整数值之间生成Swift中的随机值,swift,random,Swift,Random,我试图在两个整数之间生成随机值。我试过这个,从0开始 let randomNumber = arc4random_uniform(10) println(randomNumber) 但是我需要一个介于10和50之间的值。试试这个 let randomNumber = arc4random_uniform(40) + 10 println(randomNumber) 一般形式 let lower : UInt32 = 10 let upper : UInt32 = 50 let randomN
let randomNumber = arc4random_uniform(10)
println(randomNumber)
但是我需要一个介于10和50之间的值。试试这个
let randomNumber = arc4random_uniform(40) + 10
println(randomNumber)
一般形式
let lower : UInt32 = 10
let upper : UInt32 = 50
let randomNumber = arc4random_uniform(upper - lower) + lower
println(randomNumber)
如果您想要具有简单参数的可重用函数:
func generateRandomNumber(min: Int, max: Int) -> Int {
let randomNum = Int(arc4random_uniform(UInt32(max) - UInt32(min)) + UInt32(min))
return randomNum
}
一种更简单的随机数发生器方法
func random(min: Int, max: Int) -> Int {
return Int(arc4random_uniform(UInt32(max - min + 1))) + min
}
这是Swift 4.2及更高版本使用
random()
方法的一个选项,这使它变得简单
let randomInt = Int.random(in: 10...50)
该范围可以是封闭的(
a…b
)或半开放的(a..在upper-lower
中添加一个,以便在此处允许50个尽可能多的结果(因为arc4random\u uniform(40)
将返回0到-39范围内的整数)@ackStOverflow,这取决于OP want1..50
或1…50