我是这个网站的新手,如果我在这里,那是因为我没有在网上的任何地方找到答案并相信我:我一直在谷歌上搜索相当长的一段时间,但我能找到的只是如何转换一个数字到数组而不是其他方式.我正在寻找一种简单的方法或函数来将int数组转换为int数.让我解释一下例如我有这个:
int[] ar = {1, 2, 3};
Run Code Online (Sandbox Code Playgroud)
我希望有这个:
int nbr = 123;
Run Code Online (Sandbox Code Playgroud)
在我看来,它看起来像这样(即使我知道这不是正确的方式):
int nbr = ar.toInt(); // I know it's funny
Run Code Online (Sandbox Code Playgroud)
如果您对我如何做到这一点有任何想法,那就太棒了.
rge*_*man 12
从结果开始0.循环遍历int数组的所有元素.将结果乘以10,然后从数组中添加当前数字.在循环结束时,您有结果.
这可以通过将基数从10(此处)更改为其他内容(例如16十六进制)来推广任何基数.
您必须循环数组并添加正确的值。正确的值是数组中的当前元素乘以 10^position。
所以: ar[0]*1 + ar[1]*10 + ar[2] *100 + .....
int res=0;
for(int i=0;i<ar.length;i++) {
res=res*10+ar[i];
}
Run Code Online (Sandbox Code Playgroud)
或者
for(int i=0,exp=ar.length-1;i<ar.length;i++,exp--)
res+=ar[i]*Math.pow(10, exp);
Run Code Online (Sandbox Code Playgroud)