private string SetDefaultValue(int Numb) { string serial = ""; int length = Numb.ToString().Length; switch (length) { case 1: serial = "000" + Numb.ToString(); break; case 2: serial = "00" + Numb.ToString(); break; case 3: serial = "0" + Numb.ToString(); break; case 4: serial = Numb.ToString(); break; } return serial; }
"ABC"+"001"
楼主是怎么得出ABC1的???
long tmp2 = 1;
for (tmp2 = 1; tmp2 < 10; tmp2++)
{
//("输出结果:" + tmp1 + tmp2.ToString("000"));
}
1.根据用户输入的字符串计算确定长度
比如ABCD00003,总长度为9,然后看后面哪几位是数字,结果可以知道前4位是前缀,后面5位是序号2.将后面5位转换成整数再++,根据5可以生成'00000',然后将++后的整数ToString('00000')3.将前4位的前缀和后面生成的连起来
參數
totalWidth
型別:System..::.Int32 產生的字串中的字元數,等於原始字元加上任何其他填補字元的數目。 paddingChar
型別:System..::.Char Unicode 填補字元。 傳回值
型別:System..::.String 新的 String,對等於這個執行個體,但是靠左對齊,並在右側填補必要的 paddingChar 字元,以建立 totalWidth 的長度。如果 totalWidth 小於這個執行個體的長度,則為與這個執行個體相同的新 String。 範例
C# code
string str = "forty-two";
char pad = '.';Console.WriteLine(str.PadRight(15, pad)); // Displays "forty-two......".
Console.WriteLine(str.PadRight(2, pad)); // Displays "forty-two".
再把这个转换为数字之后的做为起始的循环值,不就可以了嘛?
//"输出结果:" tmp2.ToString("0".PadLeft(tmp1.Length,'0')))
{
string serial = "";
int length = Numb.ToString().Length;
switch (length)
{
case 1:
serial = "000" + Numb.ToString();
break;
case 2:
serial = "00" + Numb.ToString();
break;
case 3:
serial = "0" + Numb.ToString();
break;
case 4:
serial = Numb.ToString();
break;
}
return serial;
}
嘿嘿,其实这个事我要的最佳答案,把3换成TXT3.LENGTH就可以适应多种号码组合了