Javascript 角度问题解析浮点

Javascript 角度问题解析浮点,javascript,angularjs,Javascript,Angularjs,我使用一个过滤器从ng repeat中的动态数据中获取总计。我的问题可能是我不能把小数降到2位。这是我的过滤器: app.filter('sumByKey', function() { return function (data, key) { if (typeof (data) === 'undefined' || typeof (key) === 'undefined') { return 0; } var s

我使用一个过滤器从ng repeat中的动态数据中获取总计。我的问题可能是我不能把小数降到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)”返回的是长而疯狂的不可读数字


非常感谢您的帮助

尝试Number.toPrecision函数,例如

var sum = 0;
for (var i = data.length - 1; i >= 0; i--)
    sum += parseFloat(data[i][key]);

return parseFloat(sum.toPrecision(2));

请详细说明
toFixed(2)
“给出异常的不可读结果”的含义。请注意,
toFixed
的返回值是字符串类型,而不是数字。这也许可以解释你的问题。有办法解决吗?不要只发布错误的图片,发布错误的文本(有些人看不到图片)。谢谢RobG,我没有意识到有些人看不到图片。太棒了!它做到了!万分感谢!