我正在尝试在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我得到了错误的答案:
也许最好的方法是将数组转换为字符串...有什么建议吗?
答案 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