2012-09-20 14 views
21

ein Integer-Formatierung mit Nullen aufgefüllt wird, ist einfach in Ruby:Rubin ZEROFILL einen String

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

Aber wenn ich versuche, einen String mit Nullen zu füllen Ich kann nicht eine einfache Lösung finden:

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

möchte ich erhalten möchte:

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

Antwort

46

Sie rjust oder ljust verwenden können.

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

Wie nicht !! Offensichtlich einfacher als sprintf! –

Verwandte Themen