JavaScript parseInt()

The JavaScript parseInt() function parses a string argument and returns an integer of the specified radix.

The syntax of the parseInt() function is:

parseInt(string, radix)

parseInt() Parameters

The parseInt() function takes in:

  • string - The value to parse. If it is not a string, it is converted to one using ToString abstract operation.
  • radix (optional) - An integer between 2 and 36 representing the base in the numeral system.

Return value from parseInt()

  • Returns an integer parsed from the given string.
  • Returns NaN when:
    • radix is less than 2 or greater than 36.
    • The first non-whitespace character can't be converted to a number.

Example: Using parseInt()

console.log(parseInt("875.99", 10)); // 875

console.log(parseInt("F", 16)); // 15
console.log(parseInt("0xF")); // 15 -> JavaScript consider 0x... to be hexadecimal

console.log(parseInt("-17", 8)); // -15

// int is detected till a non-numeric character
console.log(parseInt("85,123", 10)); // 85
console.log(parseInt("FXX123", 16)); // 15

console.log(parseInt("45", 13)); // 57

console.log(parseInt("Hello", 8)); // NaN
console.log(parseInt("546", 2)); // NaN -> Invalud as binary has only 1 or 0

// BigInt values lose precision
console.log(parseInt("464546416543075614n")); // 464546416543075600

Output

875
15
15
-15
85
15
57
NaN
NaN
464546416543075600

Note: If the radix parameter is undefined, 0, or unspecified, JavaScript considers the following:

  • If the string begins with "0x", the radix is 16 (hexadecimal).
  • If the string begins with "0", the radix is 8 (octal) or 10 (decimal). The exact radix chosen is implementation-dependant
  • If the string begins with any other value, the radix is 10 (decimal).

Recommended Reading: Javascript parseFloat()