Javascript:如何对小数值进行四舍五入?

use*_*475 2 javascript

我有一个像这样的值1724.1000000000001,如何1724.11在 javascript 中将这样的值四舍五入?我需要一个通用函数。请帮忙...

Lau*_*nce 6

一个简单的方法是:

var num = 1724.1000000000001;
num = Math.ceil(num * 100) / 100;
alert(num); //  1724.11
Run Code Online (Sandbox Code Playgroud)

怎么运行的:

Ceil 会将值向上舍入。但你想要 2 个小数。做到这一点的最佳方法是:

  1. 将值乘以 100,
  2. 把它四舍五入,
  3. 将其除以 100。

现在您得到了一个保留 2 位小数的向上舍入值。发生的情况是这样的:

1724.1000000000001 * 100 = 172410.00000000001
round-up on 172410.00000000001 = 172411
172411 / 100 = 1724.11
Run Code Online (Sandbox Code Playgroud)