Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在两个整数值之间生成Swift中的随机值_Swift_Random - Fatal编程技术网

在两个整数值之间生成Swift中的随机值

在两个整数值之间生成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

我试图在两个整数之间生成随机值。我试过这个,从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 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 want
1..50
1…50