0

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

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

我尝试了这样的事情,但它对我不起作用:

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

谢谢你的帮助。

4

1 回答 1

3

使用字符串格式:

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

formatted_number(123)
#=> "000123"

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

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

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

于 2012-10-28T13:16:00.423 回答