我有正在转换的字符串,必须是四个字符
长。这些值的长度介于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);