如何在 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() 函数和按位运算符。
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP