gpt4 book ai didi

Android Studio乘以得到奇怪的结果

转载 作者:行者123 更新时间:2023-11-29 23:16:19 26 4
gpt4 key购买 nike

我正在尝试将一组数字相乘。应该很简单,但由于某种原因,我得到了一些巨大的数字,但我无法弄清楚我哪里做错了。

我输入一个数字,它被拆分成一个数组,它遍历数字并将它们相乘

        var iArray = i.toString().toCharArray()
var iCount = iArray.count().toString()
var x = 0
var sum: Long = 1

while(x < iCount.toInt()) {
Log.i(iArray[x].toString(), "array");
sum *= iArray[x].toLong()
x++
Log.i(sum.toString(), "sum");
}

在 logcat 中,我可以在数组中看到正确的数字。例如,如果我尝试 357,这就是我得到的结果

I/3:数组I/51:总和

I/5:数组I/2703:总和

I/7:数组I/148665:求和

但是如果我只计算 3*5*7 就可以了。我错过了什么?

最佳答案

你得到的输出是好的

因为您乘以数字的 ASCII 值而不是数字本身

3 的 ASCII 值是 51,5 是 53,它们相乘结果 2703 是正确的等等

如果要使用整数乘法,则必须使用将字符数组转换为整数数组或在乘法时考虑 ASCII 值。

例如:sum *= (iArray[x].toLong()-'0') 像这样的东西,我不知道 kotlin,你可能已经注意到了。 :)

关于Android Studio乘以得到奇怪的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55293861/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com