2010-06-01 9 views
92
string strI; 

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

ici, si i = 1 puis ToString rendements "1"valeur int en 10 convertir en chaîne nombre à deux chiffres

Mais je veux obtenir "01" ou "001"

Il semble assez facile, mais il n'y a que l'article environ

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

Il est préférable d'afficher le code qui compile et fonctionne, 'tostirng' n'est pas correct. En outre, pour les programmeurs, '0x' suggère que vous faites référence à une base hexadécimale. Vous recherchez "zéros en tête". – Kobi

+0

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

+0

C'est ok. Juste un indice. Quoi qu'il en soit, int.ToString peut prendre un format, tout comme 'DateTime.ToString'. – Kobi

Répondre

5

Ce blog poste est une super petite feuille de triche à garder à portée de main en essayant de formater la chaîne s à une variété de formats.

lien vers cheval de Troie enlevé

Modifier

Le lien a été supprimé parce que Google a averti temporairement que le site (ou un site lié) peuvent avoir été propager des logiciels malveillants. Il est maintenant hors de la liste et n'est plus signalé comme problématique. Google "SteveX String Formatting" vous trouverez le résultat de la recherche et vous pouvez le visiter à votre discrétion.

+0

Ce site (maintenant) déclenche un avertissement de cheval de Troie. –

7

La réponse acceptée est bonne et rapide:

i.ToString("00") 

ou

i.ToString("000") 

Si vous avez besoin plus de complexité, String.Format est la peine d'essayer:

var str1 = ""; 
var str2 = ""; 
for (int i = 1; i < 100; i++) 
{ 
    str1 = String.Format("{0:00}", i); 
    str2 = String.Format("{0:000}", i); 
} 

Pour l'i = 10 cas :

str1: "10"
str2: "010"

J'utiliser, par exemple, pour effacer le texte particulier les contrôles d'étiquetage sur mon formulaire par nom:

private void EmptyLabelArray() 
{ 
    var fmt = "Label_Row{0:00}_Col{0:00}"; 
    for (var rowIndex = 0; rowIndex < 100; rowIndex++) 
    { 
     for (var colIndex = 0; colIndex < 100; colIndex++) 
     { 
      var lblName = String.Format(fmt, rowIndex, colIndex); 
      foreach (var ctrl in this.Controls) 
      { 
       var lbl = ctrl as Label; 
       if ((lbl != null) && (lbl.Name == lblName)) 
       { 
        lbl.Text = null; 
       } 
      } 
     } 
    } 
} 
Questions connexes