我需要创建一个模数检查,它将前导数字(比如0)添加到种子int中。然后我需要返回数组中的数字数组,因为我需要对每个数字进行计算以返回一个新的整数。
我的代码如下,
var seed = 1234;
var seedString = seed.ToString();
var test = new List<int>();
for(int i = 0; i < 10 - seedString.Length; i++)
{
test.Add(0);
}
var value = seed;
for(int i = 0; i < seedString.Length; i ++)
{
test.Insert(10 - seedString.Length, value % 10);
value = value / 10;
}
有更简单的方法吗?
答案 0 :(得分:5)
如果您想将您的号码转换为10位数字符串,可以使用Custom Numeric Format String格式化数字,如下所示:
string result = seed.ToString("0000000000");
// result == "0000001234"
如果您需要一个由单个数字组成的10元素数组,请尝试:
int[] result = new int[10];
for (int value = seed, i = result.Length; value != 0; value /= 10)
{
result[--i] = value % 10;
}
// result == new int[] { 0, 0, 0, 0, 0, 0, 1, 2, 3, 4 }
另请参阅:Fastest way to separate the digits of an int into an array in .NET?
答案 1 :(得分:2)
试试这个:
int myNumber = 1234;
string myStringNumber = myNumber.ToString().PadLeft(10, '0');
HTH
答案 2 :(得分:0)
获取字符串表示的另一种简便方法是
int num = 1234;
num.ToString("D10");