The most common method used to convert a string to a number is parseInt(). It takes two parameters, string and radix. The first parameter is the string you want to convert to a number. The second parameter, radix, is the base number system you want to convert the string to. It should usually be 10, which represents the decimal system.
- If you don’t pass in a radix, parseInt will attempt to determine the base of the number you passed in automatically, which can lead to unwanted behavior. If the number you pass in starts with a 0 and you don’t pass in a radix, parseInt will attempt to convert your number to octal.
- parseInt() automatically cuts off decimal numbers (floats) without rounding them.
Another useful method is parseFloat. It converts from a string to a floating point number (a decimal).
- If the string passed in starts with a non-numeric character, parseFloat will return NaN.
- If multiple strings are passed in, parseFloat will return the first float it parses out of the string.
3) Multiplying by 1
This is an interesting and unorthodox method to parse a number. Similiar to parseFloat, it returns a number preserving decimal places (a floating point value). However, it is very strict and only accepts a string that contains only numeric characters and only one number; anything else returns NaN.
- string*1 will only parse one number in a string; if there is more than one it returns NaN.
- Unlike parseInt, it ignores any zeroes preceding a number; they will be stripped out in the return value.
- string*1 is slightly faster than parseFloat in certain browsers, although the difference is negligible.