如何在AngularJs中将字符串转换为数字?


概述

使用AngularJs将字符串类型值转换为数字类型值很容易,因为它具有内置函数,例如**parseInt()**、**parseFloat()**,它们可以将数字字符串类型转换为数字类型,以及Angular的**“isNumber()”**函数,可以交叉检查给定数据是否已转换为数字。例如,如果一个数字是十进制字符串类型,我们将使用parseFloat()函数将字符串转换为数字;否则,如果我们必须转换不带小数的数字,我们将使用parseInt()函数。

语法

这里使用的语法是:

var num = parseInt(“String here...”);
angular.isNumber( num );

在上面给出的语法中,字符串值作为参数传递给parseInt()方法。“angular.isNumber()”检查上面转换后的数字是数字类型还是字符串类型。

算法

  • **步骤1** - 在你想要的代码编辑器中创建一个HTML页面,添加AngularJs的内容分发网络(CDN)链接,以便在你的网页上获得AngularJs的功能。

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
  • **步骤2** - 在HTML中添加div元素,带有“ng-app”定义和“ng-controller”,在其内插入表达式变量。

<div ng-app="myApp" ng-controller="myController">
   String: {{a}} <br />
   String converted to number: {{output}}
</div>
  • **步骤3** - 创建Angular模块和控制器,在其中定义变量,如下例所示。

  • **步骤4** - 使用parseInt()函数将给定的字符串转换为数字。

  • **步骤5** - 使用isNumber()函数进行检查,如果给定值是数字类型,则返回true,否则返回false。

示例1

在这个例子中,一个给定的字符串类型值将使用**parseInt()**函数(AngularJs中的一个预构建函数)转换为数字类型。然后,为了检查该值是否已转换,我们使用**isNumber()**函数。

<html>
   <head>
      <title>Convert String to Number using AngularJs</title>
      <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
   </head>
   <body>
      <h2>Using parseInt()</h2>
      <div ng-app="myApp" ng-controller="myController">
         String: {{a}}<br />
         String converted to number: {{output}} ({{outputNum}})
      </div>
         <script>
            var app = angular.module("myApp", []);
            app.controller("myController", ($scope) => {
               $scope.a = "82.25";
               $scope.outputNum = parseInt($scope.a);
               $scope.output = angular.isNumber($scope.outputNum);
            })
      </script>
   </body>
</html>

因此,从上面的例子中,由于“82.25”作为字符串存储在$scope.a变量中,然后它作为参数传递给parseInt()函数。parseInt()返回一个不带小数的数字类型值。这个值传递给isNumber()函数,因为我们已经将字符串值转换为了数字,所以isNumber()将返回true。

示例2

在这个例子中,我们将使用**parseFloat()**方法将字符串类型值转换为数字类型,并将使用Angular的**isNumber()**方法来检查转换后的值是否是数字类型。

<html>
<head>
   <title>Convert String to Number using AngularJs</title>
   <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
</head>
   <body>
      <h2>Using parseFloat()</h2>
      <div ng-app="myApp" ng-controller="myController">
         String: {{a}}<br />
         String converted to number: {{output}} ({{outputNum}})
      </div>
      <script>
         var app = angular.module("myApp", []);
         app.controller("myController", ($scope) => {
            $scope.a = "82.25"; //decimal value of String type
            $scope.outputNum = parseFloat($scope.a);
            $scope.output = angular.isNumber($scope.outputNum);
         })
      </script>
   </body>
</html>

在这个例子中,给定了一个十进制字符串值,因此我们使用了parseFloat()函数将字符串值转换为数字类型的十进制值。然后通过将该值传递给isNumber()来检查该数字,因为解析该值后它返回数字类型,所以它将返回true。

结论

在parseInt()函数中,如果数字写在单词之后,例如:“Hello 80”,那么parseInt()将返回“NaN”作为输出。isNumber()的返回类型是布尔值,当传递给函数的值是数字类型时,它将返回true,否则将返回false。上述解决方案在许多情况下都很有帮助,例如,在一个应用程序中,用户输入句子,他必须从中提取个人的年龄和出生年份,因此我们将把给定的字符串类型句子解析为parseInt()方法,以便从中提取年龄和数字。

更新于:2023年3月24日

5000+ 次浏览

启动你的职业生涯

通过完成课程获得认证

开始学习
广告