我希望将一位数转换为两位数,如下所示:
9 ==> 09
5 ==> 05
12 == 12
4 ==> 04
我想我可以放一堆if-else语句(如果数字小于10,那么做一个gsub),但我认为这是可怕的编码。我知道Rails有number_with_precision,但我发现它只适用于十进制数。有关于如何将一位数转换为两位数的想法吗?
发布于 2010-04-23 01:03:07
你是说sprintf '%02d', n
吗?
irb(main):003:0> sprintf '%02d', 1
=> "01"
irb(main):004:0> sprintf '%02d', 10
=> "10"
您可能希望在将来引用format table for sprintf
,但在本例中,'%02d'
意味着打印一个至少占2个字符的整数(d
) (2
),并用零而不是空格(0
)进行左填充。
发布于 2010-04-23 01:05:05
发布于 2010-04-23 01:07:23
试试这个,应该能行得通:
abc = 5
puts "%.2i" % abc # => 05
abc = 5.0
puts "%.2f" % abc # => 5.00
https://stackoverflow.com/questions/2692853
复制相似问题