如何在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+ 次瀏覽

啟動你的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.