Convierta un int en una cadena con ceros a la izquierda en C#
Este artículo ilustra las diferentes técnicas para convertir un int en una cadena rellena con ceros a la izquierda hasta una longitud especificada.
1. Usando String.PadLeft()
método
La forma estándar de convertir un int en una cadena con ceros a la izquierda en C# es usar el String.PadLeft() método. Devuelve una nueva cadena de una longitud especificada, con la cadena a la izquierda rellenada con espacios o el carácter especificado. Aquí está el ejemplo de trabajo, que utiliza el PadLeft()
Método para crear una nueva cadena de 8 dígitos a partir del número dado rellenado con todos ceros.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
using System; public class Example { public static void Main() { int number = 1111; string s = number.ToString().PadLeft(8, '0'); Console.WriteLine(s); // 00001111 } } |
2. Usando Int32.ToString()
método
Como alternativa, puede utilizar el Int32.ToString()
para convertir un valor numérico en su representación de cadena equivalente. Está sobrecargado para aceptar una cadena de formato numérico estándar o personalizado. El siguiente ejemplo formatea un valor Int32 usando la "D" especificador de formato con un especificador de precisión de 8:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
using System; public class Example { public static void Main() { int number = 1111; string s = number.ToString("D8"); Console.WriteLine(s); // 00001111 } } |
La siguiente solución utiliza el Especificador de formato personalizado "0" como un símbolo de marcador de posición cero.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
using System; public class Example { public static void Main() { int number = 1111; string s = number.ToString("00000000"); Console.WriteLine(s); // 00001111 } } |
3. Usando String.Format()
método
Otra opción es utilizar el String.Format()
para rellenar una cadena con caracteres iniciales o finales hasta una longitud especificada. El siguiente ejemplo formatea un valor Int32 utilizando el especificador de formato "D" con un especificador de precisión de 8:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
using System; public class Example { public static void Main() { int number = 1111; string s = String.Format("{0:D8}", number); Console.WriteLine(s); // 00001111 } } |
También puede usar el especificador de formato personalizado "0", como se muestra a continuación:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
using System; public class Example { public static void Main() { int number = 1111; string s = String.Format("{0:00000000}", number); Console.WriteLine(s); // 00001111 } } |
4. Uso de la interpolación de strings
A partir de C# 6.0, puede formatear su cadena utilizando la interpolación de cadenas '$'. Proporciona una sintaxis más concisa para formatear cadenas, que es más fácil de leer que los métodos tradicionales de formateo de cadenas. Con la interpolación de cadenas, el código anterior se puede acortar a:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
using System; public class Example { public static void Main() { int number = 1111; string s = $"{number:D8}"; Console.WriteLine(s); // 00001111 } } |
O utilice el especificador de formato personalizado "0":
1 2 3 4 5 6 7 8 9 10 11 12 13 |
using System; public class Example { public static void Main() { int number = 1111; string s = $"{number:00000000}"; Console.WriteLine(s); // 00001111 } } |
Se trata de convertir un int en una cadena con ceros a la izquierda en C#.