Rails中的前导零

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (7)

我有hr和min两个字段,都是我的应用程序中的整数。 对于hr字段,如果用户输入“1”,我希望Rails在将它保存到数据库之前自动将它填充到“01”。 对于最小字段,如果用户输入“0”,它应该输入为“00”。 我怎样才能做到这一点?

提问于
用户回答回答于

最好将其存储为整数,并按在运行时描述的那样显示它。每种语言都有自己的方法来填充零,对于Ruby,可以使用字符串,该方法将字符串(右对齐)填充为给定长度,使用给定的填充字符。

str.rjust(integer, padstr=' ') → new_str如果integer的长度大于str,返回一个新的String长度integer带着str右对齐padstr否则,返回str...

some_int = 5
some_int.to_s.rjust(2, '0')  # => '05'
some_int.to_s.rjust(5, '0')  # => '00005'

another_int = 150
another_int.to_s.rjust(2, '0') # => '150'
another_int.to_s.rjust(3, '0') # => '150'
another_int.to_s.rjust(5, '0') # => '00150'
用户回答回答于

可以使用以下方法将整数转换为此类字符串:

result_string = '%02i' % your_integer

这与它在数据库中保存的方式无关。

扫码关注云+社区