ใน C # ฉันมีค่าจำนวนเต็มซึ่งจะต้องมีการแปลงเป็นสตริง แต่ต้องเพิ่มศูนย์ก่อน:
ตัวอย่างเช่น:
int i = 1;
เมื่อฉันแปลงเป็นสตริงมันต้องกลายเป็น 0001
ฉันจำเป็นต้องรู้ไวยากรณ์ใน C #
ใน C # ฉันมีค่าจำนวนเต็มซึ่งจะต้องมีการแปลงเป็นสตริง แต่ต้องเพิ่มศูนย์ก่อน:
ตัวอย่างเช่น:
int i = 1;
เมื่อฉันแปลงเป็นสตริงมันต้องกลายเป็น 0001
ฉันจำเป็นต้องรู้ไวยากรณ์ใน C #
คำตอบ:
i.ToString().PadLeft(4, '0')
- โอเค แต่ใช้ไม่ได้กับจำนวนลบ
i.ToString("0000");
- รูปแบบชัดเจน - ตัวระบุรูปแบบ
i.ToString("D4");
สั้น
$"{i:0000}";
- การแก้ไขสตริง (C # 6.0+)
i.ToString("D4");
ดูMSDNในตัวระบุรูปแบบ
นี่เป็นตัวอย่างที่ดี:
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
คุณสามารถใช้ได้:
int x = 1;
x.ToString("0000");
string.Format("{0:0000}", x)
การแก้ไขสตริงของสไตล์ C # 6.0
int i = 1;
var str1 = $"{i:D4}";
var str2 = $"{i:0000}";
$"some text {x.ToStrig("D4")} after text"
i.ToString("0000");
peasy ง่าย ๆ
int i = 1;
i.ToString("0###")
ง่ายดาย
int i=123;
string paddedI = i.ToString("D4");
.NET มีฟังก์ชั่นที่ใช้งานง่ายในString
คลาส เพียงใช้:
.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"
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
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);
ที่นี่ฉันต้องการหมายเลขของฉันด้วยตัวเลข 4 หลัก ตัวอย่างเช่นถ้ามันเป็น 1 มันควรจะแสดงเป็น 0001 ถ้ามัน 11 มันควรจะแสดงเป็น 0011
ด้านล่างเป็นรหัสที่ทำให้สิ่งนี้บรรลุผล:
reciptno=1; // Pass only integer.
string formatted = string.Format("{0:0000}", reciptno);
TxtRecNo.Text = formatted; // Output=0001
ฉันใช้รหัสนี้เพื่อสร้างหมายเลขใบเสร็จรับเงินสำหรับไฟล์ PDF
หากต้องการ pad int i
เพื่อจับคู่ความยาวสตริงของint x
เมื่อทั้งคู่สามารถเป็นลบได้:
i.ToString().PadLeft((int)Math.Log10(Math.Abs(x < 0 ? x * 10 : x)) + 1, '0')