2012-09-20 12 views
21

formatowanie liczbą całkowitą należy wypełnić zerami jest łatwy w Ruby:Ruby ZEROFILL ciąg

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

Ale gdy próbuję wypełnić ciąg zerami nie mogę znaleźć proste rozwiązanie:

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

chciałbym uzyskać:

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

Odpowiedz

46

można użyć rjust lub ljust.

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

Jak nie !! Oczywiście łatwiej niż sprintf! –

Powiązane problemy