随机浮动在开放区间

时间:2014-02-20 13:58:49

标签: ruby random

所以我想在Ruby中生成一个随机浮点数,它位于(0.0, 1.0)区间。显然,如果我们谈论一个封闭的间隔,这将是完全直截了当的:

Random.rand

... 但是我们正在谈论 open 间隔,即数字绝不能正好是0.0或1.0,因为这会使程序崩溃。为了给出一点背景,随机浮点数作为统计函数的输入,如果输入不在(0.0, 1.0)中,则抛出错误。

我可以想到明显的解决方案,例如“如果结果是0.0或1.0则再次滚动”,但我想知道是否有更优雅的方法来做到这一点。

2 个答案:

答案 0 :(得分:3)

这可能是最好的

Random.rand(Float::MIN...1.0)

答案 1 :(得分:0)

怎么样?
rand(Float::MIN..1-Float::MIN)