我在我的应用程序中使用MEAN堆栈,将AngularJS作为我的前端。如何new User({id: 2}).
save().
then((model) => {
res.json({ success: true });
});
以及total sum
,实际上我得到comma value
但total sum value
不是comma value
... My Plunker 示例: - 没有逗号calculated
值总和答案我得到3850.20,然后用amt
comma
个值得到总和我得到2.00,期望像3850.20,如果有人知道解决方案对我们有所帮助....
我的控制器: -
amount payment
我的Html: -
.filter('sumOfValue', function () {
return function (data, key) {
debugger;
if (angular.isUndefined(data) && angular.isUndefined(key))
return 0;
var sum = 0;
angular.forEach(data,function(v,k){
sum = sum + parseFloat(v[key]);
});
return sum.toFixed(2);
}
})
我的数据:
<td >{{mani.amt}}</td>
<td >{{mani.amount_payment }}</td>
我创建了Plunker作为参考: - Plunker
答案 0 :(得分:1)
我认为您应该避免在格式化后存储/传递数字,因此您应该将数字"amount_payment": "1,925.10"
作为"amount_payment": "1925.10"
(不使用逗号)传递,或者更好地传递为float:"amount_payment": 1925.10
,on您可以使用 Number 的 toLocalString()函数格式化您的观点:(1925.10).toLocaleString()
甚至("1925.10").toLocaleString()
。在你的情况下,你可以在求和时删除逗号:
angular.forEach(data,function(v){
sum = sum + parseFloat(v[key].replace(',', ''));
});
您也可以使用 reduce()函数求和:
app.filter('sumOfValue', function () {
return function (data, key) {
// debugger;
if (!data || !data[0] || !data[0][key]) {
return 0;
}
var sum = data.reduce(function(sum, val) {
return sum + parseFloat(val[key].replace(',', ''));
}, 0);
return sum.toFixed(2);
}
})