如何在javascript中更准确地舍入十进制数的总和

时间:2018-04-13 10:47:03

标签: javascript

我试图找到一种方法来更精确地舍入数字数组的总和。 例如给出一个[33.3333 , 33.3333, 33.3333]数组的总和是99.99,在这种情况下,我不想将总和舍入为100。 但是如果数字数组是Math.round()那么它应该将总和舍入为100。 即使你有一个[33.22,33.33,33.33]

的数组,使用32-bit总是四舍五入为100

2 个答案:

答案 0 :(得分:3)

您可以在舍入之前相乘以获得不同的精度:

cd ${path}sample && ls -lrt

答案 1 :(得分:2)

对数字进行四舍五入的更好解决方案是演示here

function precisionRound(number, precision) {
  var factor = Math.pow(10, precision);
  return Math.round(number * factor) / factor;
}

console.log(precisionRound(99.99, 2)); //99.99
console.log(precisionRound(99.9999, 2)); //100