如何在 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.