我有正在转换的字符串,必须是四个字符
长。这些值的长度介于0到4个字符之间。
我需要用零填充字符串,以使所有ID长4个字符:



输入号码需要

1  => 0001
121 => 0121
0567 => 0567


到目前为止,我已经尝试过:

int temCode = 0;
DataTable dt = objSites.Get_Max_SiteCode();
if (dt.Rows.Count > 0)
{
     string siteCode = dt.Rows[0]["SiteCode"].ToString();
     string code = siteCode.Substring(siteCode.Length - 4);
     temCode = Convert.ToInt32(code) + 1;
     temCode.ToString().PadLeft(4, '0'); // same number is coming here without any pad left.
}

最佳答案

问题是以下内容:


.ToString()
.PadLeft(...)


都返回一个新的字符串,它们不会以任何方式修改调用该方法的对象。

请注意,您必须将结果放入字符串中。整数没有填充的概念,因此整数值0010与整数值10相同。

所以试试这个:

string value = temCode.ToString().PadLeft(4, '0');


或者您可以使用以下方法:

string value = temCode.ToString("d4");


或这个:

string value = string.Format("{0:0000}", temCode);

10-04 18:50