我知道我可以用rand(max)生成随机浮动.我试图在一定范围内产生一个浮动,这应该不难.但是,例如rand(1.4512)返回0,因此rand不使用浮点数进行计算.现在我try 了一个小把戏,把它转换成一个整数,然后在我想要的范围内随机化一个拟合数,再把它计算回一个浮点数..这是行不通的.
我的问题是如何更好地做到这一点.如果没有更好的方法,为什么这个方法不起作用?(也许对我来说太晚了,我应该在两小时前就开始睡觉了.).整个设计的目的是为数据库记录计算一个"位置"字段,以便用户可以手动排序.我以前从未做过这样的事情,也许有人能给我一个更好的解决方案.
以下是迄今为止的代码:
def calculate_position(@elements, index)
min = @elements[index].position
if @elements[index + 1].nil?
pos = min + 1
else
pos = min + (rand(@elements[index + 1].position * 10000000000) / 10000000000)
end
return pos
end
谢谢