【发布时间】:2018-12-14 09:06:30
【问题描述】:
我想将一个整数数组组合成一个整数值。所以我有以下代码将数组组合成一个值。
int[] array = { 5, 6, 2, 4 };
int combine = 0;
for (int i = 0; i < array.Length; i++)
{
combine += array[i] * Convert.ToInt32(Math.Pow(10, array.Length-i-1));
}
这个产量组合 = 5624。这是正确的。
我的问题是我的数组不是 0-9 的形式。所以我的数组可能是 {51,62,23,44}
int[] array = { 51, 62, 23, 44 };
int combine = 0;
for (int i = 0; i < array.Length; i++)
{
combine += array[i] * Convert.ToInt32(Math.Pow(10, array.Length-i-1));
}
产生组合为 574774,而不是 51622344。我该如何纠正这个问题?
【问题讨论】:
-
将每个元素转换为字符串,连接字符串,然后将结果转换回
Int32。 -
为什么不将它们转换成字符串然后连接起来呢?
-
@JayV:不够接近。
-
谢谢大家。我不知道为什么我没有想到这么简单的解决方法。