2014-10-19 14 views
12

Voglio generare una stringa basata su uno int insieme a zero. E la lunghezza dovrebbe essere sempre di 5 non più di quella né di meno.Formato Python Intero in stringhe a lunghezza fissa

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 

risposta

15

utilizzare il metodo format() function o str.format() per formattare numeri interi con zero padding:

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

Vedere le Format Specification Mini-Language; il numero iniziale 0 nel formato indica 0-padding, lo 5 è la larghezza minima del campo; qualsiasi numero più corto di quello viene riempito per tutta la larghezza.

Demo:

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

Grazie .... Got it –

+0

Ho trovato questo utile anche: posizione 'di stampa": {0: 5d}, fissare id: {1} attesa imbottito in secondi: { 2: 03d} ". Format (12, 453585, 89)" ' Voglio dire, puoi evitare il padding con 0 (come in posizione) –

+0

@RodrigoLaguna: certo, ma la domanda specificava specificamente il padding con zeri. :-) –

Problemi correlati