最近有个需求,把数字显示成固定的位数,位数不足的在前面以零补充
比如 5 位:
复制代码 代码如下:
3 -> 00003
292 -> 00292
12422 -> 12422
发现 Ruby 很容易就可以实现了
复制代码 代码如下:
irb> "%05d" % 12422
"12422"
irb> "%05d" % 22
"00022"
"12422"
irb> "%05d" % 22
"00022"
上面的方法基本上是标准作法。如果是直接处理字符串,也可以用 String#rjust:
"12422".rjust(5, '0') => "12422"
"22".rjust(5, '0') => "00022"
附:另一篇
项目中用到了字符串左右补零的算法,最后发现rails有这方面的函数可以实现,省去不必要的麻烦,例子应该很简单易懂
复制代码 代码如下:
>>> a = 22
>>> s = str(a).rjust(4, '0')
>>> print s
0022
>>> a = 2222
>>> s = str(a).rjust(4, '0')
>>> print s
2222