2012-09-20 191 views
21

格式化的整數填充零容易在Ruby中:紅寶石ZEROFILL字符串

sprintf("%010d", 345) #=> "0000000345" 

但是當我嘗試以填補零的字符串我無法找到一個簡單的解決方案:

sprintf("%010d", "12AD") #=> ArgumentError: invalid value for Integer(): "12AD" 
sprintf("%010s", "12AD") #=> "  12AD" 

我想獲得:

sprintf("%010s", "12AD") #=> "00000012AD" 

回答

46

您可以使用rjustljust

>> "12AD".rjust(10, '0') 
#=> "00000012AD" 
+0

如何不!顯然比sprintf更容易! –