5 ways to convert string to number in JavaScript
Find out how to convert a string to a number in JavaScript using parseInt(), parseFloat(), unary plus and math.round method.
In this article, we will see how to convert a string to a number in JavaScript.
In Javascript, we can represent a number in the form of an actual number or as a string.
Example
let num1 = 20; let num2 = '20' console.log(typeof num1) // Number console.log(typeof num2) // String
And if we compare them using === (equality comparison operator) , it will return as false since both are of different data types.
console.log(num1 === num2) //false
So, in this article, we will see 5 different ways on how to convert a given string to a number using vanilla Javascript.
Method 1 : Using parseInt()
The parseInt() method parses a given string argument and return us an integer i.e a whole number.
syntax:
parseInt(string, radix)
It takes two arguments:
string: The value to parse.
radix: This is the base number used in mathematical numeral systems, you can read about it (Radix - Wikipedia). A radix of 10 converts from a decimal number, 8 converts from octal, 16 from hexadecimal, and so on.
Example:
let str = '20' let num = parseInt(str) console.log(num) // 20
The limitation of the parseInt() method is that it cannot convert a decimal number. It will round off to the nearest integer value and return us the number.
So to convert a decimal number string to a number we have to use the next method.
Method 2: Using parseFloat()
The parseFloat() method, parse a string argument and return us the floating-point number (decimal number).
Syntax:
parseFloat(string)
Example:
let str1 = '3.14' let str2 = '5.44abcd' console.log(parseFloat(str1)) // 3.14 console.log(parseFloat(str2)) // 5.44
Method 3 : Using Number()
The Number() function converts a string to a number in Javascript.
Unlike parseInt() and parseFloat() which can convert only to integer or a floating-point value, the Number() method can convert a string and return both integer and a decimal number.
And if the value cannot be converted it returns NaN (Not a Number).
Syntax:
Number(string)
Example:
let str1 = '3.14' let str2 = '2.1345' let str3 = '5.44abcd' console.log(Number(str1)) //3.14 console.log(Number(str2)) // 2.1345 console.log(Number(str3)) //NaN
Method 4: Using Math.floor()
The Math.floor() function returns a value which is the largest integer less than or equal to the given number. It returns 0 if the given value is null.
Syntax:
Math.floor(x)
Example:
console.log(Math.floor(4.95)); //4 console.log(Math.floor(4.05)); //4 console.log(Math.floor(4)); //4 console.log(Math.floor(-4.05)); //-5 console.log(Math.floor(null)); //0
Method 5: Using Unary Operator (+)
The unary plus operator + converts the operand into a number.
If we place the unary operator before a numerical value, it does nothing.
However, if is placed the operator before the string (non-numeric) value, it does the number conversion using the Number() function.
Example:
let str = '20'; console.log(+str); // 10
So, these are five different ways to transform a string value into a number in JavaScript. And all these methods work on any modern browser and IE6.
Related Posts
Capitalize First Letter of a String - JavaScript
This article is about how to capitalize the first letter of a string using JavaScript.
Check if String starts with a space in JavaScript
Find out whether a string starts with a space or not using regex test method, string match method and startsWith method in JavaScript.
JavaScript - Detect if a string contains any space
FInd out how to detect if a string contains any white space using regex test() method and string indexOf() method in Javascript.
Split a String into chunks of N character into an array in JavaScript
Find out how to split String into Substrings by length of N characters in JavaScript using split(), match() and substr() methods.
