我在我的应用程序中使用MEAN堆栈,将AngularJS作为我的前端。如何在angularjs中总和两个值,实际上我们有两个表,我在124.10
得到了convertion rate
的总和值,然后我希望计算convertion rate
总计值A + B
1}}作为124.10 + 124.10 answer = 248.20
... My Plunker。
我们有两个表,所以我想计算第一个表转换率总和值和第二个表convertionrate totalsum值
例如: - fisrt表转换率为124.10
,第二个表转换率为124.10
,我们需要在第三个表中计算这些值,如A + B
回答应该是248.20。
我已将羽毛作为参考plunker,任何人都知道解决方案可以帮助我们。
我的控制器: -
.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);
}
})
我的数据:
$scope.sryarndebitnote = [
{
"_id": "57ac1b6d82e1c5940ac3c730",
"user": {
"_id": "57400c32bd07906c1308e2cf",
"displayName": "mani selvam"
},
"__v": 0,
"created": "2016-08-11T06:30:05.118Z",
"shipment_id": "57ac19b982e1c5940ac3c72f",
"conversion_rate": "62.04",
"invoice_value_fob_currency": "Rs",
"invoice_value_fob": "300.231",
"invoice_quantity_unit": "KG",
"invoice_quantity": "37",
"invoice_date": "2016-08-17",
"supplier_name": "Msd",
"buyer_name": "Mani selvam .R"
},
{
"_id": "57b5af69df0475401f644b2e",
"user": {
"_id": "57400c32bd07906c1308e2cf",
"displayName": "mani selvam"
},
"__v": 0,
"created": "2016-08-18T12:51:53.671Z",
"shipment_id": "57b5af5bdf0475401f644b2d",
"conversion_rate": "62.06",
"exclusive": true,
"invoice_value_fob": "400.343",
"invoice_quantity": "97",
"supplier_name": "Msd",
"buyer_name": "Mani selvam .R"
},]
我的Html: -
<tr ng-repeat="mani in resultValue=(sryarndebitnote)">
<td >{{$index + 1}}</td>
<td >{{(resultValue | sumOfValue:'conversion_rate' * 1) + (resultValue | sumOfValue:'conversion_rate' *1)}}</td>
</tr>
<tr>
<td>sum</td>
<td>B = {{resultValue | sumOfValue:'conversion_rate'}}</td>
</tr>
第三个表应a+b
计算C
值的最终总和,如A+B
值248.20,因此c
值总和为{{ 1}}。
496.40
总和值`496.40。
答案 0 :(得分:0)
{{(resultValue | sumOfValue:'conversion_rate' * 1) + (resultValue | sumOfValue:'conversion_rate' *1)}}
不鼓励使用这种技巧强制求整数求和,不应在敏感应用程序中使用它们。
有人说; 您必须实际强制filter的结果为整数。 e.g:
{{(resultValue | sumOfValue:'conversion_rate')*1 + (resultValue | sumOfValue:'conversion_rate')*1}}
但是你真的应该在这个场景中提出一个更强大的方法。即使在控制器中包装parseInt
功能也可以解决问题。
进一步阅读:
答案 1 :(得分:0)
改变这个:
<td >{{(resultValue | sumOfValue:'conversion_rate' * 1) + (resultValue | sumOfValue:'conversion_rate' *1)}}</td>
对此:
<td>{{((resultValue | sumOfValue:'conversion_rate')*1) + ((resultValue | sumOfValue:'conversion_rate' )*1)}}</td>
问题是括号。