【问题标题】:AngularJs calculation addition errorAngularJs计算加法错误
【发布时间】:2016-01-17 18:12:13
【问题描述】:

我在表中扣除 3 列,预付款,总计。 前两列的值来自数据库,第三列是第一两列的总和 但是我得到的结果不是求和,而是串联

<td data-title="'deduction>'">
   <span >{{payroll.deduction}}</span>
</td>
<td data-title="'advance''">
   <span >{{payroll.advance}}</span>
</td>
<td data-title="'total">
   <span >{{payroll.deduction+payroll.deduction}}</span>
</td>

【问题讨论】:

    标签: html angularjs twitter-bootstrap


    【解决方案1】:

    您的变量被视为字符串。尝试使用parseFloat() 将它们转换为数字:

    <td data-title="'deduction>'">
       <span >{{ payroll.deduction }}</span>
    </td>
    <td data-title="'advance''">
       <span >{{ payroll.advance }}</span>
    </td>
    <td data-title="'total">
       <span >{{ parseFloat(payroll.deduction) + parseFloat(payroll.advance) }}</span>
    </td>
    

    编辑:

    AngularJS expressions are not the exactly the same as JavaScript expressions。您必须在控制器中添加一个 paseFloat 才能引入本机 parseFloat 函数:

    function controller($scope)
    {
        $scope.parseFloat = parseFloat;
    }
    

    【讨论】:

    • 是 parseFloat() angularjs 函数吗?
    • 不,它是原生 JavaScript。
    • 这是一个很好的观点。您必须将 parseFloat() 放入控制器中。看到这个帖子stackoverflow.com/questions/12755558/…
    【解决方案2】:

    使用 parseInt 函数代替 parseFloat。还有一件事我希望你建议检查控制台是否让你字符串。

    【讨论】:

      猜你喜欢
      • 2013-03-16
      • 2018-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多