Ajouter un remplissage nul à une chaîne

159

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

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
001
la source

Réponses:

295

Vous pouvez utiliser PadLeft

var newString = Your_String.PadLeft(4, '0');
kemiller2002
la source
20
Gardez à l'esprit que "12345".PadLeft(4,'0')c'est toujours "12345" - cela ne le tronquera pas. Cela n'enlève rien à cette réponse car elle répond à toutes les spécifications (il y a quelque chose d'étrangement satisfaisant à avoir une réponse que vous avez votée comme acceptée (mais pas aussi satisfaisante que d'avoir l'une des vôtres acceptée bien sûr), triez comme votre fils entrant dans la meilleure école), je pensais juste que je le mentionnerais au cas où il aurait la tête laide un jour. Cripes, j'espère que ces parenthèses sont équilibrées :-)
paxdiablo
20
@paxdiablo: Ils l'étaient jusqu'au smiley.
Paul Ruane
1
"1.2".PadRight(4,'0')fonctionne également pour zéro remplissant un numéro de chaîne tel que "1.20". Je peux le faire pour tronquer et remplir un numéro de chaîne simple <10000. num = num.length > 4 ? num.Substring(0,4) : num.PadRight(4,'0');
Dan Randolph
59
myInt.ToString("D4");
Rex M
la source
11
La question est de savoir comment ajouter un remplissage «à une chaîne».
Matthew Flaschen
10
string.Format("{0:D4}", myInt)
Tonatio
31
string strvalue="11".PadRight(4, '0');

sortie = 1100

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

sortie = 3010

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

sortie = 0011

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

sortie = 0301

Shiraj Momin
la source
9
"1".PadLeft(4, '0');
Matthew Flaschen
la source
1
int num = 1;
num.ToString("0000");
Noor E Alam Robin
la source