我希望得到两个小十进制数之间的随机数。
介于0.8和1.3之间。
var duration = CGFloat(arc4random() % 0.8) / 1.3
或
var duration = CGFloat(arc4random() % 0.5) + 0.8
谢谢!
答案 0 :(得分:35)
这是一个通用函数,我刚刚写了一个范围内的随机数。
func randomBetween(_ firstNum: CGFloat, _ secondNum: CGFloat) -> CGFloat{
return CGFloat(arc4random()) / CGFloat(UINT32_MAX) * abs(firstNum - secondNum) + min(firstNum, secondNum)
}
它需要一个随机数,找到该数字的余数除以两个参数之间的差值,然后加上较小的数字。这保证了随机数在两个数字之间。
免责声明:我尚未对此进行测试。
编辑:现在这个功能可以满足您的需求。
答案 1 :(得分:1)
雨燕5:
使用random(in:)返回指定范围内的随机值:
return authResult.user != null;
每个苹果:
random()静态方法从连续变量中选择一个随机值 范围内的均匀分布,然后将该值转换为 此类型中最接近的可表示值。
请参见random(in: using: ),以指定默认值以外的随机数生成器。