2012-09-20 27 views
21

Formatear un número entero para ser llenado con ceros es fácil en Ruby:Rubí ZEROFILL una cadena

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

Pero cuando intento para llenar una cadena de ceros no puedo encontrar una solución fácil:

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

me gustaría obtener:

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

Respuesta

46

puede utilizar rjust o ljust.

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

How not !! Obviamente más fácil que sprintf! –

Cuestiones relacionadas