web-dev-qa-db-ja.com

Swift 2つの整数値の間でランダムな値を生成する

2つの整数の間でランダムな値を生成しようとしています。私はこれを試しました、0から始まります、

let randomNumber = arc4random_uniform(10)
println(randomNumber)

ただし、10〜50の値が必要です。

20
ChenSmile

これを試して

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)
58
Bryan Chen

新しいrandom()メソッドを使用してSwift 4.2に回答すると、簡単になります。

let randomInt = Int.random(in: 10...50)
19
Chris

単純なパラメーターで再利用可能な関数が必要な場合:

func generateRandomNumber(min: Int, max: Int) -> Int {
    let randomNum = Int(arc4random_uniform(UInt32(max) - UInt32(min)) + UInt32(min))
    return randomNum
}
10
mattgabor

乱数ジェネレータのより簡単な方法

func random(min: Int, max: Int) -> Int {
    return Int(arc4random_uniform(UInt32(max - min + 1))) + min
}
2
Rizwan Mehboob