25

Formating an Integer to be filled with zeros is easy in Ruby:

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

But when I try to fill a String with zeros I can't find an easy solution:

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

I would like to obtain:

sprintf( "%010s", "12AD" ) #=> "00000012AD"
fguillen
  • 36,125
  • 23
  • 149
  • 210

1 Answers1

58

You can use rjust or ljust.

>> "12AD".rjust(10, '0')
#=> "00000012AD"
oldergod
  • 15,033
  • 7
  • 62
  • 88