如何在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()方法,以便從中提取年齡和數字。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP