我需要设置40位计数器变量。它应该以0000000000000000000000000000000000000001
开头并增加到0000000000000000000000000000000000000002
当我使用int
类时,它会切掉所有零。问题是我需要增加数字,然后将其转换为具有正确数量的前导零的字符串。总大小应为40位数字。因此,例如,如果我打到50,它应该看起来像这样:
0000000000000000000000000000000000000050
我该怎么做并保留零?
使用整数并格式化或在转换为字符串时填充结果。如
int i = 1;
string s = i.ToString().PadLeft(40, '0');
请参阅Jeppe Stig Nielson's answer,我也记不清格式设置了。
尝试使用
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)
您也可以使用它。.
int number = 1;
string tempNumber = $"{number:00}";
结果:
01