JavaScript中的反向数字

JavaScript中的反向数字,javascript,arrays,reverse,Javascript,Arrays,Reverse,我试图在JavaScript中反转随机int。我正在使用以下代码: '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 c

我试图在JavaScript中反转随机int。我正在使用以下代码:

'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中浮动的信息:

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

'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中浮动的信息:

您的函数似乎工作正常。什么输入给了你一个糟糕的输出?repl.it示例将有助于你的函数看起来正常工作。什么输入给了你一个糟糕的输出?repl.it示例对于IEEE 754问题比JS问题更有帮助,但我认为你的解决方案对于OP是正确的IEEE 754问题比JS问题更正确,但我认为你的解决方案对于OP是正确的