En C # tengo un valor entero que debe ser convertido a cadena pero necesita agregar ceros antes:
Por ejemplo:
int i = 1;
Cuando lo convierto en cadena, necesita convertirse en 0001
Necesito saber la sintaxis en C #.
En C # tengo un valor entero que debe ser convertido a cadena pero necesita agregar ceros antes:
Por ejemplo:
int i = 1;
Cuando lo convierto en cadena, necesita convertirse en 0001
Necesito saber la sintaxis en C #.
Respuestas:
i.ToString().PadLeft(4, '0')
- está bien, pero no funciona para números negativos
i.ToString("0000");
- forma explícita
i.ToString("D4");
- especificador de formato de forma corta
$"{i:0000}";
- interpolación de cadenas (C # 6.0+)
i.ToString("D4");
Ver 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");
string.Format("{0:0000}", x)
Interpolación de cadenas de estilo C # 6.0
int i = 1;
var str1 = $"{i:D4}";
var str2 = $"{i:0000}";
$"some text {x.ToStrig("D4")} after text"
i.ToString("0000");
Simplemente
int i=123;
string paddedI = i.ToString("D4");
.NET tiene una función fácil para hacer eso en la String
clase. Solo usa:
.ToString().PadLeft(4, '0') // that will fill your number with 0 on the left, up to 4 length
int i = 1;
i.toString().PadLeft(4,'0') // will return "0001"
Aquí quiero rellenar mi número con 4 dígitos. Por ejemplo, si es 1, debería aparecer como 0001, si es 11, debería aparecer 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 el número de recibo de dinero para un archivo PDF.