2014-10-19 17 views
12

Ich möchte eine Zeichenfolge basierend auf einem int zusammen mit Nullen generieren. Und die Länge sollte immer 5 nicht mehr als das noch weniger sein.Python-Format Ganzzahl in Strings fester Länge

For example: 

Consider a Integer: 1 
Formatted String : 00001 

Consider a Integer: 12 
Formatted String : 00012 

Consider a Integer: 110 
Formatted String : 00110 

Consider a Integer: 1111 
Formatted String : 01111 

Consider a Integer: 11111 
Formatted String : 11111 

Antwort

15

Mit der format() function oder str.format() Methode ganzen Zahlen-Format mit Null-padding:

print format(integervalue, '05d') 
print 'Formatted String : {0:05d}'.format(integervalue) 

die Format Specification Mini-Language Siehe; die führende 0 im Format bedeutet 0-Padding, die 5 ist die minimale Feldbreite; Jede kürzere Zahl wird auf die volle Breite aufgefüllt.

Demo:

>>> format(110, '05d') 
'00110' 
>>> 'Formatted String : {0:05d}'.format(12) 
'Formatted String : 00012' 
+0

Danke .... Verstanden –

+0

ich diese nützlich zu finden: 'print„Position: {0: 5d}, fix-ID: {1} gepolsterte Wartezeit in Sekunden: { 2: 03d} ". Format (12, 453585, 89)" ' Ich meine, Sie können Padding mit 0 vermeiden (wie in Position) –

+0

@RodrigoLaguna: sicher, aber die Frage speziell für die Auffüllung mit Nullen gefragt :-) –

Verwandte Themen