我目前正在研究一个在多维数组中获取不同值之和的函数。 我有以下代码:
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.0599999999999996
和335.40999999999997
。
1)是什么导致这些数字偏离一位或两位小数,因为它们总是加一或小数?
2)有没有一种有效的方法来解决这个问题(目前我会使用math.round)。
感谢您的帮助, 汤姆