How to convert a string into an integer without using parseInt() function in JavaScript?


The parseInt() is a built-in function in JavaScript that parses a string and returns an integer. However, there are times when we want to convert a string into an integer without using this function. In this article, we'll explore how to do just that.

Using the unary plus operator

One way to convert a string into an integer is by using the unary plus operator. This operator converts its operand into a number. For instance, the following program converts the string "123" into the number 123 −

Example 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>

Example 2

The unary plus operator can also be used to convert other values into numbers. For example, it can convert booleans into numbers, as shown below −

<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>

Using the Number() function

Another way to convert a string into a number is by using the Number() function. This function takes in an argument and returns a number. For instance, the following code converts the string "123" into the number 123 −

Example 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>

Example 2

The Number() function can also be used to convert other values into numbers. For example, it can convert booleans into numbers, as shown below −

<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>

Using the Math.floor() function

The Math.floor() function returns the largest integer less than or equal to a given number. This function can be used to convert a string into an integer.

Example

The following code converts the string "123" into the number 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>

In the above code, we first convert the string "123" into a number using the Number() function. We then pass this number into the Math.floor() function, which returns the integer 123.

Using the bitwise operators

Bitwise operators are operators that perform operations on bitwise values. These operators can be used to convert a string into an integer.

Example

The following code converts the string "765" into the number 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>

In the above code, we use the bitwise OR operator (|) to convert the string "765" into a number. The bitwise OR operator converts its operands into 32-bit integers and then performs a bitwise OR operation on them. In this case, it converts the string "765" into the number 765.

Using the Math.ceil() function

The Math.ceil() function returns the smallest integer greater than or equal to a given number. This function can be used to convert a string into an integer.

Example

The following code converts the string "123" into the number 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>

In the above code, we first convert the string "123" into a number using the Number() function. We then pass this number into the Math.ceil() function, which returns the integer 123.

There are a few ways to convert a string into an integer without using the parseInt() function. These include using the unary plus operator, the Number() function, the Math.floor() function, and the bitwise operators.

Updated on: 01-Jul-2022

2K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements