136 votes

int valeur inférieure à 10 convertir en chaîne de caractères nombre à deux chiffres

string strI;   

for (int i = 1; i < 100; i++)
    strI = i.ToString();

ici, si i = 1 puis ToString donne "1"

Mais je veux obtenir "01" ou "001"

Ça a l'air assez facile, mais il y a seulement un article sur

datetime.ToString("yyyy-MM-dd")`

0 votes

Il est préférable de publier un code qui se compile et s'exécute, tostirng n'est pas juste. Aussi, aux programmeurs, 0x suggère que vous faites référence à la base hexadécimale. Vous cherchez des "zéros de tête".

0 votes

@Kobi désolé, ma langue maternelle n'est pas l'anglais et mon anglais est en fait mauvais. et je vais à l'école d'anglais tous les jours pour améliorer mon anglais. Pourriez-vous s'il vous plaît me comprendre. et j'ai édité le tostirng

0 votes

C'est bon. C'est juste un indice. Quoi qu'il en soit, int.ToString peut prendre un format, tout comme DateTime.ToString .

2voto

fluidguid Points 711

Je vais commencer ma réponse en disant que la plupart des réponses précédentes étaient parfaitement bonnes au moment où je les ai écrites. Donc, merci à ceux qui les ont écrites.

Maintenant, vous pouvez également utiliser l'interpolation des chaînes pour la même solution.

Edit : Ajout de cette explication après avoir reçu un commentaire constructif parfaitement valide de Heretic Monkey. J'ai préféré utiliser .ToString chaque fois que j'ai eu besoin de convertir un entier en chaîne et de ne pas ajouter le résultat à une autre chaîne. Et, j'ai préféré utiliser l'interpolation chaque fois que j'ai eu besoin de combiner une ou plusieurs chaînes et un entier, comme dans les exemples ci-dessous.

Interpolation des chaînes de caractères

i.ToString("00")
01

i.ToString("000")
001

i.ToString("0000")
0001

$"Prefix_{i:00}"
Prefix_01

$"Prefix_{i:000}"
Prefix_001

$"Prefix_{i:0000}_Suffix"
Prefix_0001_Suffix

0voto

VIjayendra Points 1

Vous pouvez aussi le faire de cette façon

private static string GetPaddingSequence(int padding)
{
      StringBuilder SB = new StringBuilder();
      for (int i = 0; i < padding; i++)
      {
           SB.Append("0");
      }

      return SB.ToString();
  }

public static string FormatNumber(int number, int padding)
{
    return number.ToString(GetPaddingSequence(padding));
}

Enfin, appelez la fonction FormatNumber

string x = FormatNumber(1,2);

La sortie sera 01 qui est basée sur votre paramètre de rembourrage. En l'augmentant, vous augmenterez le nombre de 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