En C # tengo un valor entero que necesita ser contorneado a cadena pero necesita agregar ceros antes:
Por ejemplo:
int i = 1;
Cuando lo convierto en cuerda, debe convertirse en 0001
Necesito saber la syntax en C #.
i.ToString().PadLeft(4, '0')
– bien, pero no funciona para números negativos
i.ToString("0000");
– forma explícita
i.ToString("D4");
– especificador de formato de formato corto
i.ToString("D4");
Vea MSDN en los especificadores de formato.
Aquí hay un buen ejemplo:
int number = 1; //D4 = pad with 0000 string outputValue = String.Format("{0:D4}", number); Console.WriteLine(outputValue);//Prints 0001 //OR outputValue = number.ToString().PadLeft(4, '0'); Console.WriteLine(outputValue);//Prints 0001 as well
Puedes usar:
int x = 1; x.ToString("0000");
Interpolación de cadenas de estilo C # 6.0
int i = 1; var str1 = $"{i:D4}"; var str2 = $"{i:0000}";
i.ToString("0000");
Simplemente
int i=123; string paddedI = i.ToString("D4");
int p = 3; // fixed length padding int n = 55; // number to test string t = n.ToString("D" + p); // magic Console.WriteLine("Hello, world! >> {0}", t); // outputs: // Hello, world! >> 055
Aquí quiero rellenar mi número con 4 dígitos. Por ejemplo, si es 1, debería mostrarse como 0001, si 11 se mostraría como 0011.
A continuación se muestra el código que logra esto:
reciptno=1; // Pass only integer. string formatted = string.Format("{0:0000}", reciptno); TxtRecNo.Text = formatted; // Output=0001
Implementé este código para generar un número de recibo de dinero para un archivo PDF.
Para rellenar int i
para que coincida con la longitud de cadena de int x
, cuando ambos pueden ser negativos:
i.ToString().PadLeft((int)Math.Log10(Math.Abs(x < 0 ? x * 10 : x)) + 1, '0')