我看到这段代码随机数字。 '%05i'%
做了什么?
list = []
(list << '%05i' % (rand(99999)+1)).uniq! while list.length < 5
number1, number2, number3, number4, number5 = list
答案 0 :(得分:2)
'%05i'
是format specification,其中0
表示用零填充,5
表示宽度为5个字符,i
表示参数为十进制数。然后%
运算符applies将规范格式化为以下参数(在这种情况下为(rand(99999)+1)
)。
'%05i' % 1
评估为"00001"
。
答案 1 :(得分:1)
它与printf
中的C++
有些相似。这意味着使用整数将字符串构造为5位,在左侧添加0
。 %i
是整数的格式说明符。 %
和i
之间的5表示填充到5个符号,0
和%
之间的5
表示使用0
填充。在字符串之后写入%
以及要在字符串中使用的值。例如,'%05i' % 2'
将为00002
。