【问题标题】:convert string to Number in angularjs在angularjs中将字符串转换为数字
【发布时间】:2016-09-01 04:11:18
【问题描述】:

我正在展示一个包含 JSON 的数组,并直接用 HTML 来展示它,在这里你可以找到elem.fc + elem.cpc。它以 NaN 作为输出。

这是我的 HTML:

<tr ng-show="table.table1loaded" ng-repeat="elem in filteredcampaignslist" ng-init="initializepopover()">
<td ng-show="app.ostype=='iOS'"><div class="text-center">{{elem.fc+elem.cpc}}</div></td>
</tr>

【问题讨论】:

    标签: angularjs-directive angularjs-ng-repeat


    【解决方案1】:

    {{elem.fc+elem.cpc}} 更改为{{+elem.fc + +elem.cpc}} 这应该可以解决问题。

    【讨论】:

    • 不,这个技巧不起作用,我需要减去一些值,但这也不起作用。
    • 如果它不起作用,那只能意味着 elem.fc 或 elem.cpc 不是数字或代表数字的字符串。交给你找出原因。
    【解决方案2】:

    请检查:How to parseInt in Angular.js

    根据该帖子中的 Angular 文档,您目前无法在表达式中执行此类操作。

    解决此问题的最佳方法是创建一个在控制器中执行此操作的函数,然后将其绑定到您的 HTML。

    HTML:

     <tr ng-show="table.table1loaded" ng-repeat="elem in filteredcampaignslist" ng-init="initializepopover()">
    <td ng-show="app.ostype=='iOS'"><div class="text-center">{{ Total() }}</div></td>
    </tr>
    

    AngularJS 控制器内部:

    $scope.Total = function() { return parseInt(elem.fc) + parseInt(elem.cpc); };
    

    【讨论】:

      【解决方案3】:

      这是 Angular 2 及以上版本的answer

      Number('1234') // 1234
      Number('9BX9') // NaN
      

      【讨论】:

        猜你喜欢
        • 2014-09-09
        • 1970-01-01
        • 1970-01-01
        • 2017-03-11
        • 1970-01-01
        • 2019-03-18
        • 1970-01-01
        • 1970-01-01
        • 2018-02-01
        相关资源
        最近更新 更多