# The parseInt Function in JavaScript

Apr 4, 2023

JavaScript has a built-in `parseInt()` function that parses a string into a number. The `parseInt()` function takes 2 parameters: the string to parse, and the radix. You should set the radix parameter to 10, unless you are positive you need to set it to something else.

``````parseInt('42', 10); // 42

// `parseInt()` also ignores leading and trailing whitespace
parseInt('  42', 10); // 42
parseInt('42  ', 10); // 42``````

The `parseInt()` function ignores any non-numeric characters after the number, and ignores leading whitespace. It also handles numbers that start with `+`.

``````parseInt('42abc', 10); // 42
parseInt('42,77', 10); // 42
parseInt('+42', 10); // 42
parseInt('-42', 10); // -42``````

## Error Handling

If you pass in a string that doesn't contain a valid number, `parseInt()` will return `NaN`. `parseInt()` will not throw an error.

``parseInt('a42', 10); // NaN``

The radix parameter represents the numeric base, like 2 for binary or 16 for hexadecimal. Mastering JS uses the radix parameter for converting binary to decimal and decimal to binary For example, you can also use `parseInt()` to parse binary or hexadecimal strings as follows.

``````parseInt('10110', 2); // 22
parseInt('FA', 16); // 250``````

The reason why you should always explicitly set the radix to 10 is because `parseInt()` assumes strings that starts with `0x` or `0X` should be parsed as hexadecimal unless radix is explicitly set.

``````parseInt('0xFF'); // 255, radix set to 16 implicitly
parseInt('0xFF', 10); // 0``````

Did you find this tutorial useful? Say thanks by starring our repo on GitHub!