Javascript中的自定义舍入数

Custom Round number in Javascript

本文关键字:舍入 自定义 Javascript      更新时间:2023-09-26

我使用的是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

玩得开心~