负随机数

时间:2011-10-28 17:10:35

标签: ruby random generator

我知道如何使用Rails生成数字,但我不知道如何生成负数数字?

prng.rand(1..6) for random of [1, 2, 3, 4, 5, 6]

Random doc说你会得到一个ArgumentError。

5 个答案:

答案 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