如何在Ruby on Rails中将整数显示为6位数值?

时间:2012-10-28 13:13:51

标签: ruby-on-rails ruby

如何在text_field中格式化整数,使它们始终由6位数字组成?

因此,例如,当整数在数据库中存储为1时,在text_field中会显示:000001。用户还应该能够编辑这些值,但不能减少或超过位数。

我试过这样的事情,但这对我不起作用:

def formatted_number(int)
  int.to_s.rjust(6, '0')
end

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

使用字符串格式:

def formatted_number(int)
  '%06d' % int
end

formatted_number(123)
#=> "000123"

为了便于阅读,您还可以使用显式调用Kernel#format

def formatted_number(int)
  format '%06d', int
end

有关格式字符串的语法,请参阅the Kernel#format documentation