คำตอบที่ยอมรับนั้นดีและรวดเร็ว:
i.ToString("00")
หรือ
i.ToString("000")
หากคุณต้องการความซับซ้อนมากขึ้นString.Formatก็คุ้มที่จะลอง:
var str1 = "";
var str2 = "";
for (int i = 1; i < 100; i++)
{
str1 = String.Format("{0:00}", i);
str2 = String.Format("{0:000}", i);
}
สำหรับi = 10
กรณี:
str1: "10"
str2: "010"
ตัวอย่างเช่นฉันใช้สิ่งนี้เพื่อล้างข้อความในการควบคุมฉลากเฉพาะในแบบฟอร์มของฉันตามชื่อ:
private void EmptyLabelArray()
{
var fmt = "Label_Row{0:00}_Col{0:00}";
for (var rowIndex = 0; rowIndex < 100; rowIndex++)
{
for (var colIndex = 0; colIndex < 100; colIndex++)
{
var lblName = String.Format(fmt, rowIndex, colIndex);
foreach (var ctrl in this.Controls)
{
var lbl = ctrl as Label;
if ((lbl != null) && (lbl.Name == lblName))
{
lbl.Text = null;
}
}
}
}
}
tostirng
ไม่ถูกต้อง นอกจากนี้สำหรับโปรแกรมเมอร์0x
แนะนำว่าคุณกำลังอ้างถึงฐานเลขฐานสิบหก คุณกำลังมองหา "เลขศูนย์นำหน้า"