No C #, tenho um valor inteiro que precisa ser convertido em string, mas precisa adicionar zeros antes:
Por exemplo:
int i = 1;
Quando o converto em string, ele deve se tornar 0001
Eu preciso conhecer a sintaxe em c #.
No C #, tenho um valor inteiro que precisa ser convertido em string, mas precisa adicionar zeros antes:
Por exemplo:
int i = 1;
Quando o converto em string, ele deve se tornar 0001
Eu preciso conhecer a sintaxe em c #.
Respostas:
i.ToString().PadLeft(4, '0')
- ok, mas não funciona para números negativos
i.ToString("0000");
- formulário explícito
i.ToString("D4");
- especificador de formato abreviado
$"{i:0000}";
- interpolação de strings (C # 6.0+)
i.ToString("D4");
Veja MSDN sobre especificadores de formato.
Aqui está um bom exemplo:
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
Você pode usar:
int x = 1;
x.ToString("0000");
string.Format("{0:0000}", x)
Interpolação de seqüência de caracteres do 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");
Simplesmente
int i=123;
string paddedI = i.ToString("D4");
O .NET tem uma função fácil de fazer isso na String
classe. Apenas use:
.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"
Aqui eu quero preencher meu número com 4 dígitos. Por exemplo, se for 1, deve aparecer como 0001, se 11, como 0011.
Abaixo está o código que realiza isso:
reciptno=1; // Pass only integer.
string formatted = string.Format("{0:0000}", reciptno);
TxtRecNo.Text = formatted; // Output=0001
Eu implementei esse código para gerar um número de recebimento de dinheiro para um arquivo PDF.