字符串值的数字增量

Sag*_*yay 4 c#

我的申请由于某种原因我有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
Run Code Online (Sandbox Code Playgroud)

这可以通过将s的值转换为int并将其递增1 来轻松完成,但毕竟我还必须将增加的s值存储为5位数,因此它将为"00002".

这个想法给我一个痛苦......

Hab*_*bib 11

使用

string s = "00001";
int number = Convert.ToInt32(s);
number += 1;
string str = number.ToString("D5");
Run Code Online (Sandbox Code Playgroud)

得到至少5位数.

"D"(或十进制)格式说明符

如果需要,数字用左边的零填充,以产生精度说明符给出的位数.如果未指定精度说明符,则缺省值是表示不带前导零的整数所需的最小值.


Sme*_*ist 5

这似乎对我有用.

string s = "00001";
int i = Int32.Parse(s);
i++;
s = i.ToString("D" + s.Length);
Run Code Online (Sandbox Code Playgroud)