在Ruby中填充整数

时间:2013-10-08 13:15:44

标签: ruby

我正在通过|f|

进行交流
f.print "ITEM", i

ITEM001 ITEM002 .... ITEM044 .... ITEM745

如何定义i,以便如果i为1则会打印001以确保有三位数?

2 个答案:

答案 0 :(得分:8)

它被称为填充:

5.times do |x|
  puts "ITEM%03d" % x
end
# >> ITEM000
# >> ITEM001
# >> ITEM002
# >> ITEM003
# >> ITEM004

或者

5.times do |x|
  puts "ITEM" + x.to_s.rjust(3, '0')
end

答案 1 :(得分:2)

我喜欢将printf用于此类工作,它足够灵活且易于记忆。

5.times do |x|
  printf("ITEM%03d\t", x)
end

#ITEM000 ITEM001 ITEM002 ITEM003 ITEM004