如何在 JavaScript 中不使用 parseInt() 函式將字串轉換為整數?


**parseInt()** 是 JavaScript 中一個內建函式,它解析字串並返回一個整數。但是,有時我們希望在不使用此函式的情況下將字串轉換為整數。在本文中,我們將探討如何做到這一點。

使用一元加號運算子

將字串轉換為整數的一種方法是使用一元加號運算子。此運算子將其運算元轉換為數字。例如,以下程式將字串“123”轉換為數字 123 -

示例 1

<html>
<head>
   <title>Examples</title>
</head>
<body>
   <div id="result1"></div>
   <div id="result2"></div>
   <div id="result3"></div>
   <script>
      let str = "123";
      document.getElementById("result1").innerHTML = typeof str;
      let num = +str; // num = 123
      document.getElementById("result2").innerHTML = num;
      document.getElementById("result3").innerHTML = typeof num;
   </script>
</body>
</html>

示例 2

一元加號運算子也可用於將其他值轉換為數字。例如,它可以將布林值轉換為數字,如下所示 -

<html>
<head>
   <title>Examples</title>
</head>
<body>
   <div id="result"></div>
   <script>
      let bool = true;
      let num = +bool; // num = 1
      document.getElementById("result").innerHTML = num  
   </script>
</body>
</html>

使用 Number() 函式

將字串轉換為數字的另一種方法是使用 **Number()** 函式。此函式接收一個引數並返回一個數字。例如,以下程式碼將字串“123”轉換為數字 123 -

示例 1

<html>
<head>
   <title>Examples</title>
</head>
<body>
   <div id="result1"></div>
   <div id="result2"></div>
   <div id="result3"></div>
   <script>
      let str = "123";
      document.getElementById("result1").innerHTML = typeof str;
      let num = Number(str); // num = 123
      document.getElementById("result2").innerHTML = num;
      document.getElementById("result3").innerHTML = typeof num;
   </script>
</body>
</html>

示例 2

**Number()** 函式也可用於將其他值轉換為數字。例如,它可以將布林值轉換為數字,如下所示 -

<html>
<head>
   <title>Examples</title>
</head>
<body>
   <div id="result"></div>
   <script>
      let bool = false;
      let num = Number(bool); // num = 1
      document.getElementById("result").innerHTML = num    
   </script>
</body>
</html>

使用 Math.floor() 函式

Math.floor() 函式返回小於或等於給定數字的最大整數。此函式可用於將字串轉換為整數。

示例

以下程式碼將字串“123”轉換為數字 123 -

<html>
<head>
   <title>Examples</title>
</head>
<body>
   <div id="result1"></div>
   <div id="result2"></div>
   <div id="result3"></div>
   <script>
      let str = "123";
      document.getElementById("result1").innerHTML = typeof str;
      let num = Math.floor(str); // num = 123
      document.getElementById("result2").innerHTML = num;
      document.getElementById("result3").innerHTML = typeof num;
   </script>
</body>
</html>

在上面的程式碼中,我們首先使用 Number() 函式將字串“123”轉換為數字。然後,我們將此數字傳遞給 Math.floor() 函式,該函式返回整數 123。

使用按位運算子

**按位**運算子是在按位值上執行運算的運算子。這些運算子可用於將字串轉換為整數。

示例

以下程式碼將字串“765”轉換為數字 765 -

<html>
<head>
   <title>Examples</title>
</head>
<body>
   <div id="result1"></div>
   <div id="result2"></div>
   <div id="result3"></div>
   <script>
      let str = "765";
      document.getElementById("result1").innerHTML = typeof str;
      let num = str|0;
      document.getElementById("result2").innerHTML = num;
      document.getElementById("result3").innerHTML = typeof num;
   </script>
</body>
</html>

在上面的程式碼中,我們使用按位或運算子 (|) 將字串“765”轉換為數字。按位或運算子將其運算元轉換為 32 位整數,然後對它們執行按位或運算。在這種情況下,它將字串“765”轉換為數字 765。

使用 Math.ceil() 函式

**Math.ceil()** 函式返回大於或等於給定數字的最小整數。此函式可用於將字串轉換為整數。

示例

以下程式碼將字串“123”轉換為數字 123 -

<!doctype html>
<html>
<head>  
   <title>Examples</title>
</head>
<body>  
   <div id='result1'></div>  
   <div id='result2'></div>  
   <div id='result3'></div>  
   <script>      
      let str = '123';      
      document.getElementById('result1').innerHTML ="String:" +str;      
      document.getElementById('result2').innerHTML = "Before:<br> Type: "+typeof str;      
      let num = Math.ceil(str); // num = 123            
      document.getElementById('result3').innerHTML = "After:<br> Type:"+typeof num;          
   </script>
</body>
</html>

在上面的程式碼中,我們首先使用 Number() 函式將字串“123”轉換為數字。然後,我們將此數字傳遞給 Math.ceil() 函式,該函式返回整數 123。

有幾種方法可以在不使用 parseInt() 函式的情況下將字串轉換為整數。這些方法包括使用一元加號運算子、Number() 函式、Math.floor() 函式和按位運算子。

更新於: 2022-07-01

2K+ 次瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

立即開始
廣告

© . All rights reserved.