Swift中两位小数之间的随机数 [英] Random number between two decimals in Swift

查看:580
本文介绍了Swift中两位小数之间的随机数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想得到两个小十进制数之间的随机数。

I'd like to get a random number between two small decimal numbers.

介于0.8和1.3之间。

Between maybe 0.8 and 1.3.

var duration = CGFloat(arc4random() % 0.8) / 1.3

var duration = CGFloat(arc4random() % 0.5) + 0.8

谢谢!

推荐答案

这里是一个通用函数我刚刚写了一个范围内的随机数。

Here's a generic function I just wrote up quickly to get a random number within a range.

func randomBetween(_ firstNum: CGFloat, _ secondNum: CGFloat) -> CGFloat{
    return CGFloat(arc4random()) / CGFloat(UINT32_MAX) * abs(firstNum - secondNum) + min(firstNum, secondNum)
}

它需要一个随机数,找到该数字的余数除以两个参数之间的差值,然后加上较小的数字。这保证了随机数在两个数字之间。

It takes a random number, finds the remainder of that number divided by the difference between the two parameters, then adds by the smaller number. This guarantees the random number to be between the two numbers.

免责声明:我还没有对此进行测试。

编辑:现在这个功能可以满足您的需求。

EDIT: Now this function does what you want.

这篇关于Swift中两位小数之间的随机数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆