例如,我需要将6.688689舍入到6.7,但它总是显示7。

我的方法:

Math.round(6.688689);
//or
Math.round(6.688689, 1);
//or 
Math.round(6.688689, 2);

但结果总是一样的7…我做错了什么?


当前回答

如果你现在正在使用Browserify,你将不得不尝试:roundTo一个非常有用的NPM库

其他回答

如果你现在正在使用Browserify,你将不得不尝试:roundTo一个非常有用的NPM库

Number((6.688689).toFixed(1)); // 6.7
+((6.688689 * (1 + Number.EPSILON)).toFixed(1)); // 6.7
+((456.1235 * (1 + Number.EPSILON)).toFixed(3)); // 456.124
var number = 6.688689;
var roundedNumber = Math.round(number * 10) / 10;

我认为这个函数会有帮助。

 function round(value, ndec){
    var n = 10;
    for(var i = 1; i < ndec; i++){
        n *=10;
    }

    if(!ndec || ndec <= 0)
        return Math.round(value);
    else
        return Math.round(value * n) / n;
}


round(2.245, 2) //2.25
round(2.245, 0) //2