Foreach循环添加值略有偏差

时间:2015-03-26 09:52:20

标签: javascript

我正在使用角度foreach来添加值,例如:

var total = 0;
var array = [    
    {"name":"1","value":4692725.79},
    {"name":"2","value":498019.86},
    {"name":"3","value":2205238.15}
];    

angular.forEach(array, function(o, n) {
    total += o.value;
});  
如果正确的总数应为7395983.800000001,则

总计= 7395983.8

任何想法??

1 个答案:

答案 0 :(得分:0)

Javascript使用浮点数,总是在上面的评论中查看@ dmitry-ledentsov的链接。

要解决您的问题,您可以使用:

total.toFixed(2)

您将获得一个包含2位小数的字符串类型。

或者将结果四舍五入到最接近的整数,以获得精确的数字类型:

Math.round(total)

您的选择,正确的选择取决于您以后想要对结果做什么。