如何在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