[英]Swift: Generate random number between multiple ranges
我想生成一個介於
-3...-8
和3...8
我知道我可以找到一種回旋的方式,方法是先在0到1之間隨機取一個整數,然后選擇范圍:
let zeroOrOne = CGFloat.random(in: 0...1)
if zeroOrOne == 0 {
randomNum = CGFloat.random(in: -3...-8)
} else {
randomNum = CGFloat.random(in: 3...8)
}
但我想知道是否有更好的方法可以做到這一點。
我確定您要使用Bool.random
。
一種寫法是
let randomNum = CGFloat.random(in: 3...8) * (Bool.random() ? 1 : -1)
要么
var randomNum = CGFloat.random(in: 3...8)
if Bool.random() {
randomNum.negate()
}
沒有單一的正確解決方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.