数字给出意想不到的结果(小数)

时间:2018-06-17 09:42:03

标签: javascript arrays

我目前正在研究一个在多维数组中获取不同值之和的函数。 我有以下代码:

  cidSum() {
    for(let arr in this._cid) {
      console.log(this._cid[arr][1]);
      this._cidSum += this._cid[arr][1];
      console.log(this._cidSum);
    }
  }

this._cid和this._cidSum的初始值:

this._cidSum = 0;
this._cid = [["PENNY", 1.01], ["NICKEL", 2.05], ["DIME", 3.1], ["QUARTER", 4.25], ["ONE", 90], ["FIVE", 55], ["TEN", 20], ["TWENTY", 60], ["ONE HUNDRED", 100]];

控制台记录的结果,其中第一行总是要求总和的数量,下一行是获取总和后的新值。

1.01
1.01
2.05
3.0599999999999996
3.1
6.16
4.25
10.41
90
100.41
55
155.41
20
175.41
60
235.41
100
335.40999999999997

我的问题在于3.0599999999999996335.40999999999997

1)是什么导致这些数字偏离一位或两位小数,因为它们总是加一或小数?

2)有没有一种有效的方法来解决这个问题(目前我会使用math.round)。

感谢您的帮助, 汤姆

0 个答案:

没有答案