2010-06-01 8 views
92
string strI; 

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

en este caso, si i = 1 luego ToString rendimientos "1"valor int menores de 10 años convertir a cadena de números de dos dígitos

Pero quiero llegar "01" o "001"

Parece bastante fácil, pero sólo hay artículo sobre

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

mejor Es para colocar código que compila y corre, 'tostirng' no está bien. Además, para los programadores, '0x' sugiere que se está refiriendo a la base hexadecimal. Está buscando "ceros a la izquierda". – Kobi

+0

@Kobi lo siento, mi lengua materna no es el inglés y mi inglés es realmente malo. y voy a la escuela de inglés todos los días para mejorar mi inglés. ¿Podrías por favor entenderme? y he editado el 'tostirng' –

+0

Eso está bien. Solo una pista. De todos modos, int.ToString puede tomar un formato, al igual que 'DateTime.ToString'. – Kobi

Respuesta

5

Este blog post es una pequeña gran hoja de trucos para tener a mano cuando intente formatear una cadena s a una variedad de formatos.

enlace al troyano elimina

Edición

El enlace fue eliminado por Google advirtió temporalmente que el sitio (o sitio relacionado) pueden haber sido la difusión de software malicioso. Ahora está fuera de la lista y ya no se reporta como problemático. Google "SteveX String Formatting" encontrará el resultado de búsqueda y puede visitarlo a su discreción.

+0

Ese sitio (ahora) desencadena una advertencia de troyano. –

7

La respuesta aceptada es bueno y rápido:

i.ToString("00") 

o

i.ToString("000") 

Si necesita una mayor complejidad, String.Format vale la pena intentarlo:

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

Para el caso i = 10 :

str1: "10"
str2: "010"

utilizo esto, por ejemplo, para borrar el texto en particular los controles de etiqueta en mi formulario por su nombre:

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; 
       } 
      } 
     } 
    } 
} 
Cuestiones relacionadas