JavaScript 中的反向数字

Reverse Number in JavaScript

我正在尝试反转 JavaScript 中的随机整数。我正在使用此代码:

'use strict';
function reverse_a_number(n)
{
    n = n + '';
    return n.split('').reverse().join('');
}
print(reverse_a_number(+gets())); //**+gets()** is like scanner.nextInt in Java and **print();** work's like console.log(); in JS.

如果数字不是一个大整数,这很有效。

对于我的判断中的第一个测试,代码工作正常:

Input   Output
256     652
123.45  54.321

但是对于 BI 我得到了错误的答案:

也许最好的方法是将数组转换为字符串...有什么建议吗?

原因是您将 get() 输入转换为数字。不要这样做,使用一个字符串,我想,你会收到它。示例:

'use strict';

function gets() {
  return '52387456983765.98364593786'
}

function reverse_a_number(n)
{
    n = n + '';
    return n.split('').reverse().join('');
}


console.log(reverse_a_number(+gets())); // "489.56738965478325"


function reverse_a_number_new(n)
{
    return n.split('').reverse().join('');
}

console.log(reverse_a_number_new(gets()));  // "68739546389.56738965478325"

阅读更多关于 JS 中的浮点数:https://javascript.info/number#imprecise-calculations