我需要一个40位的计数器变量。 它应该开始为0000000000000000000000000000000000000001
和递增到
0000000000000000000000000000000000000002
当我使用int
类,它切断所有的零。 问题是,我需要增加数量,然后将其转换为字符串,正确数量的前导零。 总大小应该是40位。 所以,如果我打50为例,它应该是这样的:
0000000000000000000000000000000000000050
我如何能做到这一点,并保留为零?
当您转换为字符串使用整数格式或垫的结果。 如
int i = 1;
string s = i.ToString().PadLeft(40, '0');
见叶普斯蒂格尼尔森的回答了,我也永远记得格式化选项。
尝试使用
int myNumber = ...;
string output = myNumber.ToString("D40");
当然, int
能历久常如此巨大的填写所有那些数字的地方(最大int
只有10位)。
只要将您的字符串为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');
我必须做同样的事情在其他的日子,但我只需要两个零。 我结束了
string str = String.Format("{0:00}", myInt);
不知道这是傻瓜证明,但尝试
String.Format("{0:0000000000000000000000000000000000000000}", myInt)