【发布时间】:2016-01-26 04:18:15
【问题描述】:
我试图弄清楚如何转换和计算字符串,在这种情况下,我使用 $http.post 调用 ajax“订单/列表”来获取这样的列表,它包含 3 个对象:
{
"orders":[
{
"id_order":"206",
"shipping":"100.00",
"tax":"35.00"
},
{
"id_order":"205",
"shipping":"160.00",
"tax":"16.00"
},
{
"id_order":"204",
"shipping":"100.00",
"tax":"16.00"
}
]
}
税收是一个百分比, 然后我使用 ng-repeat 显示订单列表:
<tr ng-repeat="order in orders">
<td>{{order.id_order}}</td>
<td>$ {{(order.shipping * (order.tax/100) ) + order.shipping }}</td>
</tr>
您看到 {{(order.shipping * (order.tax/100) ) + order.shipping }} 我需要将它们转换为数字并计算,例如运费为 100.00,税为 16.00,例外结果将是 116.00,而不是 16100.00
【问题讨论】:
-
你的属性是字符串,而不是数字,所以你不能用它们做数学运算
-
克莱斯的评论是正确的。 AngularJS 对此非常敏感,如果属性包含字符串而不是数字,则不会执行计算。知道从哪里获取这些数据会很有帮助,因为最好从源中正确获取 JSON,而不是在 Javascript 中转换数据。例如,如果是 PHP,您可以强制 json_encode 使用正确的数据类型。
-
@Claies 你根本没有像我问的那样阅读“如何将...转换为字符串中的数字”
标签: javascript angularjs