Javascript轮功能不起作用

时间:2014-02-06 11:24:52

标签: 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

我错过了什么?

演示:http://jsfiddle.net/HwvX2/

7 个答案:

答案 0 :(得分:5)

尝试使用:

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

alert(roundNumber(5334.5));

答案 1 :(得分:3)

试试这个

alert(Math.round(5334.5));

Demo

答案 2 :(得分:2)

答案是对的。您实际上四舍五入到小数点后两位。应该是:

Math.round(num);

答案 3 :(得分:2)

我认为这是你想要覆盖默认行为的那个时代之一,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);
      }
};

答案 4 :(得分:1)

使用右括号:

 var result = Math.round(num);

演示:http://jsbin.com/tibo/1/

答案 5 :(得分:0)

应为Math.round((num*100)/100)

答案 6 :(得分:0)

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

       var result = Math.round(num);