Swift:在多个范围之间生成随机数

标签 swift random range

我想生成一个随机数,可以介于

-3...-83...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()
}

没有唯一正确的解决方案。

关于Swift:在多个范围之间生成随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55695004/

相关文章:

swift - Xcode 中的 .xcworkspace/xcshareddata/WorkspaceSettings.xcsettings 中的 PreviewsEnabled 键指的是什么

php - MYSQL - 随机选择两个用户没有相互关注的行?

java - 无法对非静态方法 nextInt() 进行静态引用

Java 在测试期间重复

Python:检查生成器中是否存在对象

swift - SpriteKit 和 SceneKit – 如何完全暂停游戏?

ios - 如何在 ResearchKit 上创建个人同意页面?

double - Kotlin 中使用数据类型 Double 的范围

ios - 将褪色的深色背景设置为 UINavigationBar

python - 从范围中删除元素