我用一个过滤器从动态数据中得到总数。我的可能是我不能把小数降到2位。这是我的过滤器:
app.filter('sumByKey', function() {
return function (data, key) {
if (typeof (data) === 'undefined' || typeof (key) === 'undefined') {
return 0;
}
var sum = 0;
for (var i = data.length - 1; i >= 0; i--) {
//sum += parseFloat(data[i][key]);
sum += Math.round((data[i][key]) * 1e12) / 1e12;
}
return sum;
};
});我注释掉了"parseFloat“,因为它不起作用,尝试使用"toFixed(2)”会给出不寻常的无法实现的结果。我已经在IE和Chrome中测试过这一点,我仍然得到了以下内容:

这不是"toFixed(2)“回答的问题的重复,正如我前面所说的,"toFixed(2)”返回长而不可读的数字。
任何帮助都是非常感谢的!
发布于 2016-03-22 00:55:17
试试Number.toPrecision函数。
var sum = 0;
for (var i = data.length - 1; i >= 0; i--)
sum += parseFloat(data[i][key]);
return parseFloat(sum.toPrecision(2));https://stackoverflow.com/questions/36144067
复制相似问题