使用JavaScript将数字舍入

时间:2018-06-01 13:50:07

标签: javascript typescript

我想对这些数字进行舍入:

Value   Expected
0,523%  1%
2,235%  2,5%
-0,081% -0,5%
-1,081% -1,5%

如何使用JavaScript执行此操作?

解决方案:

  static round (num) {
    const abs = Math.abs(num);
    const sign = num < 0 ? -1 : 1;
    return sign * (abs % 1 > 0.5 ? Math.ceil(abs) : Math.floor(abs) + 0.5) }
}

我使用Excel for it = round(Value / Granularity)*粒度但是我在JavaScript中尝试了它无法正常工作。

 static calc(num){
    const granularitiy = 0.00005;
    let calc = Math.round((num / granularitiy)) * granularitiy;
    return calc;
  }

我的粒度值为0.00005;

1 个答案:

答案 0 :(得分:0)

由于on只想舍入到.5或舍入数字,所以不能简单地使用Math.round(number)

最简单的方法就是:

Math.round(number*2)/2

这样,你总是会得到一个数字.5或圆形。
如果你想绕另一种方式(ceil或floor),你可以简单地用你想要的任何东西替换Math.round。