所以我想在Ruby中生成一个随机浮点数,它位于(0.0, 1.0)
区间。显然,如果我们谈论一个封闭的间隔,这将是完全直截了当的:
Random.rand
... 但是我们正在谈论 open 间隔,即数字绝不能正好是0.0或1.0,因为这会使程序崩溃。为了给出一点背景,随机浮点数作为统计函数的输入,如果输入不在(0.0, 1.0)
中,则抛出错误。
我可以想到明显的解决方案,例如“如果结果是0.0或1.0则再次滚动”,但我想知道是否有更优雅的方法来做到这一点。
答案 0 :(得分:3)
这可能是最好的
Random.rand(Float::MIN...1.0)
答案 1 :(得分:0)
怎么样?
rand(Float::MIN..1-Float::MIN)