我正在使用角度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
。
任何想法??
答案 0 :(得分:0)
Javascript使用浮点数,总是在上面的评论中查看@ dmitry-ledentsov的链接。
要解决您的问题,您可以使用:
total.toFixed(2)
您将获得一个包含2位小数的字符串类型。
或者将结果四舍五入到最接近的整数,以获得精确的数字类型:
Math.round(total)
您的选择,正确的选择取决于您以后想要对结果做什么。