我正在使用具有 2 个精度点的十进制数(即 1.38)。我想根据以下内容对数字进行四舍五入:
1)如果第二个精度点大于等于8(1.38或1.39),则将其四舍五入为1.4,否则不改变。
我怎样才能在 Javascript 中做到这一点。toFixed 效果不佳,因为它将 1.75 舍入到 1.8,这不是我想要的。
我正在使用具有 2 个精度点的十进制数(即 1.38)。我想根据以下内容对数字进行四舍五入:
1)如果第二个精度点大于等于8(1.38或1.39),则将其四舍五入为1.4,否则不改变。
我怎样才能在 Javascript 中做到这一点。toFixed 效果不佳,因为它将 1.75 舍入到 1.8,这不是我想要的。
这是一种相当笨拙的方法:
var round = function(n) {
var h = (n * 100) % 10;
return h >= 8
? n + (10 - h) * .01
: n;
};
这是一个快速的方法:
function customRound(n){
var r = (((n+.02)*10)>>>0)/10;
return r>n?r:n;
}
console.log(customRound(1.38));// 1.4
console.log(customRound(1.37999999999));// 1.37999999999
玩得开心~