如何在ruby中生成一个随机的10位数字?

时间:2020-03-05 18:45:01  来源:igfitidea点击:

另外,如何将其格式化为填充有零的字符串?

解决方案

回答

用表达式" 10到10的幂"的结果生成数字呼叫rand

rand(10 ** 10)

要用零填充数字,可以使用字符串格式运算符

'%010d' % rand(10 ** 10)

或者字符串的rjust方法

rand(10 ** 10).to_s.rjust(10,'0')

回答

这是一个比quackingduck的示例少使用一个方法调用的表达式。

'%011d' % rand(1e10)

需要注意的是," 1e10"是" Float",而" Kernel#rand"最终在其上调用" to_i",因此对于某些较高的值,我们可能会有一些不一致之处。为了更精确地使用文字,我们还可以执行以下操作:

'%011d' % rand(10_000_000_000) # Note that underscores are ignored in integer literals