Javascript随机无限数

时间:2015-10-13 04:11:48

标签: javascript angularjs random infinite

现在我正在处理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。但是,这似乎无法解决任何问题。有人可以解释一下吗?谢谢

1 个答案:

答案 0 :(得分:1)

我更新了你的小提琴

Live Link

sum=parseFloat(sum.toPrecision(16))

我从以下网站获取此解决方案:

Stack overflow Answer