2010-06-26 10 views
103

Comment ajouter un remplissage "0" à une chaîne de sorte que la longueur de ma chaîne soit toujours égale à 4?Ajouter un remplissage nul à une chaîne

Exemple

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 

Répondre

192

Vous pouvez utiliser PadLeft

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

Notez que ' "12345" .PadLeft (4, '0')' est _still_ "12345" - il ne le tronquera pas. Cela n'enlève rien à cette réponse car il répond à toutes les spécifications (il y a quelque chose de curieusement satisfaisant d'avoir une réponse que vous avez choisie comme acceptée (mais pas aussi satisfaisante que d'en avoir une de votre choix bien sûr), comme si votre fils entrait dans la meilleure école), je pensais juste le mentionner au cas où il se lèverait la tête laide dans le futur. Cripes, j'espère que ces parenthèses sont équilibrées :-) – paxdiablo

+14

@paxdiablo: Ils étaient jusqu'au smiley. –

+0

'" 1.2 ".PadRight (4, '0')' fonctionne également pour le remplissage d'un numéro de chaîne tel que "1.20". Je peux le faire pour tronquer et remplir un simple numéro de chaîne <10000. 'num = num.length> 4? num.Substring (0,4): num.PadRight (4, '0'); ' –

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

La question est de savoir comment ajouter un remplissage" à une chaîne ". –

+9

Malgré cela, exactement ce que je cherchais –

+8

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

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

output = 1100

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

output = 3010

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

output = 0011

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

output = 0301

Questions connexes