Trong C # tôi có một giá trị nguyên cần được hội tụ thành chuỗi nhưng nó cần thêm số không trước:
Ví dụ:
int i = 1;
Khi tôi chuyển đổi nó thành chuỗi, nó cần phải trở thành 0001
Tôi cần biết cú pháp trong C #.
Trong C # tôi có một giá trị nguyên cần được hội tụ thành chuỗi nhưng nó cần thêm số không trước:
Ví dụ:
int i = 1;
Khi tôi chuyển đổi nó thành chuỗi, nó cần phải trở thành 0001
Tôi cần biết cú pháp trong C #.
Câu trả lời:
i.ToString().PadLeft(4, '0')
- được, nhưng không hoạt động đối với số âm
i.ToString("0000");
- biểu mẫu rõ ràng
i.ToString("D4");
- công cụ xác định định dạng biểu mẫu ngắn
$"{i:0000}";
- nội suy chuỗi (C # 6.0+)
i.ToString("D4");
Xem MSDN trên định dạng định dạng.
Đây là một ví dụ tốt:
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
Bạn có thể dùng:
int x = 1;
x.ToString("0000");
string.Format("{0:0000}", x)
Nội suy chuỗi kiểu C # 6.0
int i = 1;
var str1 = $"{i:D4}";
var str2 = $"{i:0000}";
$"some text {x.ToStrig("D4")} after text"
i.ToString("0000");
Đơn giản
int i=123;
string paddedI = i.ToString("D4");
.NET có một chức năng dễ dàng để làm điều đó trong String
lớp. Chỉ dùng:
.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"
public static string ToLeadZeros(this int strNum, int num)
{
var str = strNum.ToString();
return str.PadLeft(str.Length + num, '0');
}
// var i = 1;
// string num = i.ToLeadZeros(5);
Ở đây tôi muốn pad số của tôi với 4 chữ số. Chẳng hạn, nếu là 1 thì nó sẽ hiển thị là 0001, nếu là 11 thì nó sẽ hiển thị là 0011.
Dưới đây là mã thực hiện điều này:
reciptno=1; // Pass only integer.
string formatted = string.Format("{0:0000}", reciptno);
TxtRecNo.Text = formatted; // Output=0001
Tôi đã triển khai mã này để tạo số nhận tiền cho tệp PDF.