我的申请由于某种原因,我有两个5位数字。
以下代码简要介绍了一下。
string s = "00001"; // Initially stored somewhere.
//Operation start
string id = DateTime.Now.ToString("yy") + DateTime.Now.AddYears(-1).ToString("yy") + s;
//Operation end
//Increment the value of s by 1. i.e 00001 to 00002
这可以通过将 s 的值转换为int并将其递增1来轻松完成,但毕竟我还要将增加的s值存储为5位数,这样它就会 “00002”即可。
这个想法给我一个痛苦......
答案 0 :(得分:11)
使用
string s = "00001";
int number = Convert.ToInt32(s);
number += 1;
string str = number.ToString("D5");
获得至少5位数。
The "D" (or decimal) format specifier
如果需要,数字用左边的零填充,以产生精度说明符给出的位数。如果不是 指定了精度说明符,默认值是最小值 需要表示不带前导零的整数。
答案 1 :(得分:5)
这似乎对我有用。
string s = "00001";
int i = Int32.Parse(s);
i++;
s = i.ToString("D" + s.Length);
答案 2 :(得分:1)
所以我想您想知道如何将int
转换为5位string
。
你可以这样做:
int i = 1;
string s = i.ToString("D5");
//s = "00001"
答案 3 :(得分:0)
答案 4 :(得分:0)
这可以使用PadLeft
函数:
int i = 1; // Initially stored somewhere.
//Operation start
string id = DateTime.Now.ToString("yy") + DateTime.Now.AddYears(-1).ToString("yy") + i.ToString().PadLeft(5, '0');
//Operation end