Javascript 角度问题解析浮点
我使用一个过滤器从ng repeat中的动态数据中获取总计。我的问题可能是我不能把小数降到2位。这是我的过滤器: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
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,我没有意识到有些人看不到图片。太棒了!它做到了!万分感谢!