我知道如何使用Rails生成数字,但我不知道如何生成负数数字?
prng.rand(1..6) for random of [1, 2, 3, 4, 5, 6]
Random doc说你会得到一个ArgumentError。
答案 0 :(得分:9)
假设你要在a和b之间生成一个数字,你可以使用这个公式来做到这一点:
randomNum = (b-a)*prng.rand + a
所以如果你想要一个介于-8和+7之间的数字,那么a = -8和b = 7,你的代码就是
randomNum = (7-(-8))*prng.rand + (-8)
相当于
randomNum=15*prng.rand - 8
答案 1 :(得分:6)
假设您要生成介于-1到-5之间的负数
你可以这样做:
rand(-5..-1)
它将生成介于-5到-1之间的随机数
答案 2 :(得分:5)
如何将正的随机数乘以-1
答案 3 :(得分:3)
def rand(a, b)
return Random.rand(b - a + 1) + a
end
rand(-3, 5)
答案 4 :(得分:0)
我需要生成一个随机整数,1或-1,我用它:
prng = Random.new(1)
prng.rand > 0.5 ? 1 : -1