谁能告诉我我的代码哪里出错了?我正在尝试反转数字而不将其更改为字符串。我一直在搜索谷歌并浏览了之前提出的有关该主题的问题,从我可以看到我的代码反映了其他答案。
我只能找到不使用 to string 方法的 Java、C 或 C++ 代码。
在我的尝试中,当我在浏览器控制台中运行代码时,它要么给出“Infinity”的答案,要么使我的浏览器崩溃。
这是我的代码...
function reverseNumber(number) {
var revNumber = 0;
while (number > 0) {
revNumber = (revNumber * 10) + (number % 10);
number = number / 10;
}
return revNumber;
}
console.log(reverseNumber(876));
我知道这一定是一些小语法错误,但我只是没有看到它。任何见解将不胜感激。谢谢!
number = number / 10;
里面一个while
条件为的循环number > 0
意思是number
一旦数字精度失败,经过大量迭代后才会达到 0。 (例如 876 => 87.6 => 8.76 => .876 => .0876...)这不是您想要的。你可以除以 10and去掉小数部分:
function reverseNumber(number) {
var revNumber = 0;
while (number > 0) {
revNumber = (revNumber * 10) + (number % 10);
number = Math.floor(number / 10);
}
return revNumber;
}
console.log(reverseNumber(876));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)