如何格式化text_field中的整數,使其始終由6位數組成?如何在Ruby on Rails中將整數顯示爲6位數值?
因此,例如當整數在數據庫中存儲爲1
時,在text_field中將會說:000001
。用戶還應該能夠編輯這些值,但不能減少或超過數字位數。
我想是這樣的,但它不是爲我工作:
def formatted_number(int)
int.to_s.rjust(6, '0')
end
感謝您的幫助。
如何格式化text_field中的整數,使其始終由6位數組成?如何在Ruby on Rails中將整數顯示爲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
參考the Kernel#format
documentation格式字符串的語法。
是不是基本一樣? –
基本上,是的。但是我認爲使用'String#format'(或者如何調用)比使用字符串自己的方式更好。例如,如果你決定支持浮點數值呢? –
行,行。非常感謝! – Tintin81
爲什麼這不適合你? –