C# - 增量数量,并保持在前面的零(C# - increment number and keep

2019-07-29 19:16发布

我需要一个40位的计数器变量。 它应该开始为0000000000000000000000000000000000000001
和递增到
0000000000000000000000000000000000000002

当我使用int类,它切断所有的零。 问题是,我需要增加数量,然后将其转换为字符串,正确数量的前导零。 总大小应该是40位。 所以,如果我打50为例,它应该是这样的:

0000000000000000000000000000000000000050

我如何能做到这一点,并保留为零?

Answer 1:

当您转换为字符串使用整数格式或垫的结果。 如

int i = 1;
string s = i.ToString().PadLeft(40, '0');

见叶普斯蒂格尼尔森的回答了,我也永远记得格式化选项。



Answer 2:

尝试使用

int myNumber = ...;
string output = myNumber.ToString("D40");

当然, int能历久常如此巨大的填写所有那些数字的地方(最大int只有10位)。



Answer 3:

只要将您的字符串为int,执行加法或任何其他操作,然后再转换回字符串的前导0足够数量:

// 39 zero's + "1"
string initValue = new String('0', 39) + "1";

// convert to int and add 1
int newValue = Int32.Parse(initValue) + 1;

// convert back to string with leading zero's
string newValueString = newValue.ToString().PadLeft(40, '0');


Answer 4:

我必须做同样的事情在其他的日子,但我只需要两个零。 我结束了

string str = String.Format("{0:00}", myInt);

不知道这是傻瓜证明,但尝试

String.Format("{0:0000000000000000000000000000000000000000}", myInt)


文章来源: C# - increment number and keep zeros in front
标签: c# int increment