# 5 ways to convert string to number in JavaScript

## 📋 Table Of Content

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.