在javascript中反转一个数字

Reverse a number in javascript

本文关键字:一个 数字 javascript      更新时间:2023-09-26

我想在教程中反转一个数字t。首先,我传递了一个数字作为参数。我已经用to string函数将数字转换为字符串。然后我用split(").reverse().join("。我的代码如下:

<script type="text/javascript">

        function reverse_the_string(num) {
            num = String(num);
            // str = num.toString;
            num.split("").reverse().join("");
            return;
        }
        console.log(reverse_the_string(56789));
    </script>

然而,我得到了一个未定义的错误?有人能解释出了什么问题吗?

您不会返回结果。使用

return num.split("").reverse().join("");

如果只使用return,则返回undefined

function reverse_the_string(num) {
    return String(num).split("").reverse().join("");
}
document.write(reverse_the_string(56789));

注意事项:倒车只适用于小数字!

将数字强制转换为字符串并反转字符串的解决方案是一个很好的解决方案,但它并不能涵盖所有情况。有两种情况需要解决:

  1. 反转一个负数,它不会保留符号
  2. 反转以零结尾的数字,反转后将有前导零,例如12300,当它应该是"321"时,反转将是"00321"

使用正则函数

var reversed = parseFloat(num.toString().split("").reverse().join()) * Math.sign(num);

使用箭头函数

var reversed = num => parseFloat(num.toString().split('').reverse().join('')) * Math.sign(num);

试试这个(递归方法)

 
function reverseNum(num) {
    if(num == 0)return 0;
    let x = Math.pow(10, (num + '').length - 1);
    return (num % 10) * x + reverseNum(Math.floor(num / 10));
} 
console.log(reverseNum(432));

将数字变量转换为字符串:

var n = 4557
n = n.toString();

然后执行下面的代码。

 //**Reverse the Number In javascript** 
 var result = "";
 function reverseNumber(n){
   // reverse the number via loop 
   for(var i=x.length-1; i>=0; i--){  
     result+=n[i];
   }
   return Number(result)
 }
 var x = prompt("Enter a number : ");
 console.log(reverseNumber(x))
            

为了反转数字/字符串,可以引用此方法:(不使用slice()substring()方法)

function reverse(str) {
  var rev = "";
  number = parseInt(str);
  for (; number > 0;) {
    rev += number % 10;
    number = Math.floor(number / 10)
  }
  return rev;
}