【问题标题】:how to parseInt null to 0 in angularjs如何在angularjs中将Int null解析为0
【发布时间】:2017-09-25 11:18:36
【问题描述】:

我从服务器获取 json 格式的数据,我需要将 json 字符串解析为数字,而在我的 ng 重复表中将值解析为 null 的地方为数字。解析时如何将 NaN 替换为 0。

功能:

 $scope.parseInt = function (data) {
            return parseInt(data);
        };

html:

 <tr ng-repeat="item in outlets">
            <td>{{ parseInt(item.offerID) }}</td>

我怎样才能得到 0 而不是 NaN?提前致谢。

【问题讨论】:

  • return(parseInt(data)||0)
  • 您可以使用Number() 而不是parseInt(),只要您确定您永远不会得到十进制数字。 parseInt(item.offerID) || 0 也可以解决问题
  • @KKSK,它对你有用吗?
  • 我使用了 if isNaN 为我工作。谢谢 - Alexandru-Ionut Mihai

标签: javascript jquery css angularjs wordpress


【解决方案1】:

在控制器中尝试这个并尽量避免在 HTML 中处理:

$scope.parseInt = function (data) {
        if (data == null) return 0;
           return parseInt(data);
        };

【讨论】:

    【解决方案2】:

    在您的函数中使用或运算符。

    $scope.parseInt = function (data) {
                return parseInt(data) || 0;
            };
    

    【讨论】:

      【解决方案3】:

      您可以使用逻辑 OR 运算符进行空值合并。在您的情况下,您可以在功能级别执行此操作:

      $scope.parseInt = function (data) {
        return parseInt(data, 10) || 0;
      };
      

      或者在 HTML 中:

      <tr ng-repeat="item in outlets">
        <td>{{ parseInt(item.offerID) || 0 }}</td>
      </tr>
      

      【讨论】:

        【解决方案4】:

        您可以使用||,它相当于空合并运算符

        <td>{{ parseInt(item.offerID) || 0 }}</td>
        

        【讨论】:

        • null || parseInt(null) 仍将是 NaN
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-06-24
        • 1970-01-01
        • 2018-01-05
        • 1970-01-01
        • 2013-01-22
        • 2010-09-16
        相关资源
        最近更新 更多