C# - 增加数字并在前面保留零
本文关键字:在前面 保留 数字 增加 增加数 | 更新日期: 2023-09-27 18:36:26
我需要创建一个 40 位计数器变量。它应该以0000000000000000000000000000000000000001
开头并递增至
0000000000000000000000000000000000000002
当我使用 int
类时,它会切断所有零。问题是我需要递增数字,然后将其转换为字符串,具有正确数量的前导零。总大小应为 40 位。因此,例如,如果我达到 50,它应该看起来像这样:
0000000000000000000000000000000000000050
我怎样才能做到这一点并保留零?
转换为字符串时,使用整数和格式或填充结果。如
int i = 1;
string s = i.ToString().PadLeft(40, '0');
请参阅Jeppe Stig Nielson的答案,了解我也永远不记得的格式选项。
尝试使用
int myNumber = ...;
string output = myNumber.ToString("D40");
当然,int
永远不会变得如此之大,以至于填满所有这些数字(最大的int
只有 10 位数字)。
前几天我不得不做类似的事情,但我只需要两个零。我最终得到了
string str = String.Format("{0:00}", myInt);
不确定它是否万无一失,但请尝试
String.Format("{0:0000000000000000000000000000000000000000}", myInt)
只需将字符串转换为 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');
你也可以使用它。
int number = 1;
string tempNumber = $"{number:00}";
结果:
01