Javascript 随机无限数

Javascript random infinite numbers

现在我正在 Web 应用程序中开发分类帐类型的程序。我正在使用 angularJS 来处理事件,但处理实际计算的是原始 Javascript

var onEntriesSuccess = function(data) {
    var sum = 0;
    var isDebit = ($scope.account.active == "D" ? true : false);
    angular.forEach(data, function(value, key){
        sum += (isDebit ? value.debit - value.credit : value.credit - value.debit);
        value.balance = sum;
    });

    $scope.entries = data;
}

这似乎工作正常;然而,虽然 运行 它针对我的测试用例,但我发现它失败了,因为当总和 = 10496.82 并尝试减去 6912.00 时,它会出现

3584.8199999999997

我以前从来没有遇到过这样的错误,一开始我以为是浮点数,把值从6912.02换成了6912.00。然而,这似乎并不能解决任何问题。有人可以解释一下吗?谢谢

我更新了你的fiddle

Live Link

sum=parseFloat(sum.toPrecision(16))

这个解决方案来自:

Stack overflow Answer