随机抽取相同数量的数字Ruby

时间:2014-01-31 10:52:07

标签: ruby

我试图随机抽签。这是我的代码:

puts (1..5).map{rand(00000..99999)}

我想知道是否有某种方法可以使随机抽取的数字与其他数字一样多,例如: 2222将成为02222

3 个答案:

答案 0 :(得分:3)

@Neil Slater是对的。这是另一种变体。

使用String#%

可以做同样的事情
puts (1..5).map{ '%05d' % rand(00000..99999) }

答案 1 :(得分:2)

这只是一个格式化问题。数字没有前导数字。当您需要前导数字时,您必须在显示它们的位置使用字符串。

这会直接生成您需要的字符串形式,以防有用。 sprintf是以这种方式控制数字显示的理想选择:

puts (1..5).map{ sprintf('%05d', rand(00000..99999) ) }

答案 2 :(得分:2)

您可以使用String#rjust

puts (1..5).map{ rand(00000..99999).to_s.rjust(5,'0') }