在RoR中是否有任何内置方法可以为整数填充零?

时间:2010-01-25 17:07:52

标签: ruby-on-rails ruby

如果我想要“00001”而不是“1”,除了编写我自己的填充零方法之外,是否有任何内置方法可以帮助我填写整数零?

3 个答案:

答案 0 :(得分:8)

puts "%05d" % 1    # 00001

请参阅:String::%Kernel::sprintf

这是发生了什么。 "%05d"左侧的%是C样式格式说明符。 %右侧的变量是要格式化的东西。格式说明符可以这样解码:

  • % - 格式说明符的开头
  • 0 - 带前导零的打击垫
  • 5 - 长5个字符
  • d - 格式化的东西是整数

如果你要格式化多个东西,你可以把它们放在一个数组中:

"%d - %s" % [1, "One"]    # => 1 - one

答案 1 :(得分:4)

puts 1.to_s.rjust(5,'0')

答案 2 :(得分:0)

an_int = 1
'%05d' % an_int #=> 00001