在Java脚本中反转数字,但不使其成为字符串 [英] Reverse a number without making it a string in Javascript

查看:36
本文介绍了在Java脚本中反转数字,但不使其成为字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有人能告诉我我的代码哪里出错了吗?我正在尝试在不将数字更改为字符串的情况下将其反转。我一直在谷歌上搜索,浏览了之前提出的关于这个话题的问题,从我所能看到的情况来看,我的代码反映了其他答案。

我只能在Java、C或C++中找到不使用TO字符串方法的代码。

在我的尝试中,当我在浏览器控制台中运行代码时,它要么给我一个"Infinity"的答案,要么让我的浏览器崩溃。

以下是我的代码...

数据-lang="js"数据-隐藏="假"数据-控制台="真"数据-巴贝尔="假">
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...)这不是你想要的。您可以除以10去掉小数部分:

数据-lang="js"数据-隐藏="假"数据-控制台="真"数据-巴贝尔="假">
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));

这篇关于在Java脚本中反转数字,但不使其成为字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
前端开发最新文章
热门教程
热门工具
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆