2010-06-26 26 views
103

Come si aggiunge "0" padding a una stringa in modo che la lunghezza della stringa sia sempre 4?Aggiungere zero padding a una stringa

Esempio

If input "1", 3 padding is added = 0001 
If input "25", 2 padding is added = 0025 
If input "301", 1 padding is added = 0301 
If input "4501", 0 padding is added = 4501 

risposta

192

È possibile utilizzare PadLeft

var newString = Your_String.PadLeft(4, '0'); 
+12

Tenete a mente che ' "12345" .PadLeft (4, '0')' è _still_ "12345" - non lo troncerà. Questo non toglie nulla a questa risposta dal momento che soddisfa tutte le specifiche (c'è qualcosa di stranamente soddisfacente nell'avere una risposta che hai votato come scelta accettata (anche se non è soddisfacente come una delle tue accettate, ovviamente), sorta di come tuo figlio sta entrando nella migliore scuola), ho pensato di menzionarlo nel caso in cui in futuro avesse fatto breccia nella sua brutta testa. Cripes, spero che quelle parentesi siano equilibrate :-) – paxdiablo

+14

@paxdiablo: Erano fino allo smile. –

+0

'" 1.2 ".PadRight (4, '0')' funziona anche per zero riempire un numero di stringa come "1.20". Posso fare questo per troncare e riempire un semplice numero di stringa <10000. 'num = num.length> 4? num.Substring (0,4): num.PadRight (4, '0'); ' –

7
"1".PadLeft(4, '0'); 
44
myInt.ToString("D4"); 
+9

La domanda è come aggiungere padding" a una stringa. " –

+9

Nonostante ciò, esattamente quello che stavo cercando –

+8

'string.Format (" {0: D4} ", myInt)' – Tonatio

15
string strvalue="11".PadRight(4, '0'); 

uscita = 1100

string strvalue="301".PadRight(4, '0'); 

uscita = 3010

string strvalue="11".PadLeft(4, '0'); 

uscita = 0011

string strvalue="301".PadLeft(4, '0'); 

uscita = 0301

Problemi correlati