# How to convert strings to numbers with vanilla JS (and back again)

Today, we’re going to look at three methods you can use to convert a string into a number, and one method for converting a number into a string.

Let’s dig in.

## parseInt()

You can use the `parseInt()`

method to convert a string into an integer (a whole number), or turn a decimal into an integer.

Pass in the string (or number) as the first argument. The second argument is called the `radix`

. This is the base number used in mathematical systems. For our use, it should always be `10`

.

```
// returns 42
parseInt('42', 10);
// also returns 42
parseInt('42px', 10);
// ALSO also returns 42
parseInt(42.1234, 10);
```

Here’s a demo of the `parseInt()`

method.

# parseFloat()

You can use the `parseFloat()`

method to convert a string into a point number (a number with decimal points). Pass in the string as an argument.

If the number has no decimal places, an integer is returned.

```
// returns 3.14
parseFloat('3.14');
// also returns 3.14
parseFloat('3.14someRandomStuff');
// returns 3
parseFloat('3');
```

Here’s a demo of the `parseFloat()`

method.

## Number()

You can also use the `Number()`

method to convert a string into a number.

Sometimes it returns integer. Other times it returns a float. And if you pass in a string with random text in it, you’ll get `NaN`

, an acronym for *Not a Number*.

As a result of this inconsistency, I personally prefer to use `parseInt()`

or `parseFloat()`

. If you know the format of the number you’d like, use those instead. If you want the string to fail with `NaN`

if it has other characters in it, though, `Number()`

may actually be a better choice.

```
// returns 123
Number('123');
// returns 12.3
Number('12.3');
// returns NaN
Number('3.14someRandomStuff');
```

Here’s a demo of the `Number()`

method.

## Number.toString()

You can use the `Number.toString()`

method to convert a number into a string.

```
let pi = 3.14;
let eleven = 11;
// returns "3.14"
pi.toString();
// returns "11"
eleven.toString();
```