如何格式化 text_field 中的整数,使其始终由 6 位数字组成?
因此,例如,当整数存储1
在数据库中时,在 text_field 中它会说:000001
。用户还应该能够编辑这些值,但不能减少或超过位数。
我尝试了这样的事情,但它对我不起作用:
def formatted_number(int)
int.to_s.rjust(6, '0')
end
谢谢你的帮助。
如何格式化 text_field 中的整数,使其始终由 6 位数字组成?
因此,例如,当整数存储1
在数据库中时,在 text_field 中它会说:000001
。用户还应该能够编辑这些值,但不能减少或超过位数。
我尝试了这样的事情,但它对我不起作用:
def formatted_number(int)
int.to_s.rjust(6, '0')
end
谢谢你的帮助。
使用字符串格式:
def formatted_number(int)
'%06d' % int
end
formatted_number(123)
#=> "000123"
为了便于阅读,您还可以使用显式调用Kernel#format
:
def formatted_number(int)
format '%06d', int
end
有关Kernel#format
格式字符串的语法,请参阅文档。