如何在text_field中格式化整数,使它们始终由6位数字组成?
因此,例如,当整数在数据库中存储为1
时,在text_field中会显示:000001
。用户还应该能够编辑这些值,但不能减少或超过位数。
我试过这样的事情,但这对我不起作用:
def formatted_number(int)
int.to_s.rjust(6, '0')
end
感谢您的帮助。
答案 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。