101 votes

Convertir int (nombre) en chaîne avec des zéros non significatifs ? (4 chiffres)

Possible Duplicate:
Formatage des nombres : comment convertir 1 en "01", 2 en "02", etc.?

Comment puis-je convertir un int en string en utilisant le schéma suivant?

  • 1 se convertit en 0001
  • 123 se convertit en 0123

Bien sûr, la longueur de la chaîne est dynamique. Pour cet exemple, elle est:

longueur int = 4;

Comment puis-je faire la conversion?

153voto

Jens Points 14829

Utilisez String.PadLeft comme ceci :

var result = input.ToString().PadLeft(length, '0');

116voto

Jeff Mercado Points 42075

Utilisez les options de mise en forme qui vous sont disponibles, utilisez la chaîne de format Decimal. Elle est bien plus flexible et nécessite peu voire pas de maintenance par rapport à la manipulation directe des chaînes.

Pour obtenir la représentation en chaîne de caractères en utilisant au moins 4 chiffres:

int longueur = 4;
int nombre = 50;
string enChaine = nombre.ToString("D" + longueur); //"0050"

100voto

AVD Points 57984

Utilisez la méthode ToString() - standard and personnalisé les chaînes de format numérique. Consultez l'article MSDN How to: Pad a Number with Leading Zeros.

chaîne texte = no.ToString("0000");

4voto

MagnatLU Points 2815

val.ToString("".PadLeft(longueur, '0'))

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X