Javascript round函数不起作用

Javascript round函数不起作用,javascript,Javascript,我在JavaScript中有一个函数,可以对数字进行舍入 function roundNumber(num){ var result = Math.round(num*100)/100; return result; } alert(roundNumber(5334.5)); //I still get 5334.5 when normally I should get 5335 我错过了什么 演示:使用右括号: var result = Math.round(num);

我在JavaScript中有一个函数,可以对数字进行舍入

function roundNumber(num){
    var result = Math.round(num*100)/100;
    return result;
}

alert(roundNumber(5334.5));

//I still get 5334.5 when normally I should get 5335
我错过了什么

演示:

使用右括号:

 var result = Math.round(num);
演示:

试试这个

alert(Math.round(5334.5));
尝试使用:

function roundNumber(num){
    var result = Math.round(num);
    return result;
}

alert(roundNumber(5334.5));

应该是数学。roundnum*100/100

答案是正确的。实际上,您已四舍五入到小数点后2位。应该是:

Math.round(num);

只需使用以下行修改代码::

       var result = Math.round(num);

我认为这是一个你想要覆盖默认行为的时候,Math.round是一个很好的方法,但是有时候轮子不够圆。以下是您可以做的:

Math.round = function (x) {
      if (parseInt((x + 0.5).toString().split(".")[0], 10) > parseInt(x.toString().split(".")[0], 10)) {
              return parseInt((x + 1).toString().split(".")[0], 10);
       } else {
              return parseInt(x.toString().split(".")[0], 10);
      }
};

你把结果除以100。为什么您希望它是一个整数?您的函数是一种截断到小数点后2位的方法,但您希望它四舍五入到最接近的整数。这里有一点逻辑错误。您似乎使用了从四舍五入到小数点后两位的代码。为什么要乘以100,然后除以100?@DaniloValente:OP的原始问题。。我只是照搬了一下。。我需要一杯咖啡。。直接使用Math.round对我来说更有意义。。。只是说说而已。