How can I convert a string to an integer in JavaScript?
Antek N
In JavaScript, you can convert a string to an integer using various methods. Here are some common approaches:
1. Using theparseInt() function:
- TheparseInt() function parses a string and returns an integer. It takes two arguments: the string to be parsed and an optional radix (base). If the radix is not specified, it assumes a base 10 (decimal) conversion.
In this example,parseInt(string) converts the string"42" to the integer42.
Note thatparseInt() only extracts and parses the numeric part of the string until it encounters a non-numeric character. If the string starts with a non-numeric character, or if it contains characters that are not valid in the specified radix,parseInt() returnsNaN (Not a Number).
2. Using the unary plus operator (+):
- The unary plus operator converts a string into a numeric value. When applied to a string, it tries to convert the string to a number, including integers.
Here,+string converts the string"42" to the integer42.
If the string cannot be converted to a number, the unary plus operator returnsNaN.
3. Using theNumber() constructor:
- TheNumber() constructor can be used to convert a string to a number. When called with thenew keyword, it creates a new Number object. When called withoutnew, it performs a conversion.
In this example,Number(string) converts the string"42" to the integer42.
If the string cannot be converted to a number,Number() returnsNaN.
4. Using theparseInt() function with a radix:
- If the string represents a number in a different base, such as binary or hexadecimal, you can specify the radix as the second argument toparseInt().
Here,parseInt(string, 2) converts the binary string"1010" to the integer10.
By specifying the radix, you can convert strings representing numbers in different bases, such as binary (base 2), octal (base 8), or hexadecimal (base 16), to integers.
Choose the method that best suits your requirements.parseInt() is commonly used for general string-to-integer conversions, while the unary plus operator andNumber() constructor provide more concise alternatives. If you need to convert numbers in different bases, useparseInt() with a specified radix.