JavaScript中的反向编号

时间:2018-11-05 21:56:11

标签: javascript arrays reverse

我正在尝试在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我得到了错误的答案:

enter image description here

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

1 个答案:

答案 0 :(得分:2)

原因是您将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