JavaScript provides various methods to convert a string into a number. Let’s turn to their discussion bellow:
Use parseFloat() function, which purses a string and returns a floating point number. The argument of parseFloat must be a string or a string expression. The result of parseFloat is the number whose decimal representation was contained in that string (or the number found at the beginning of the string).
If your string is "384.75a" the result will be 384.75.
If the string argument cannot be parsed as a number, the result will be NaN (not-a-number value).
Use parseInt() function, which parses a string and returns an integer.
The first argument of parseInt must be a string. parseInt will return an integer found in the beginning of the string. Remember, that only the first number in the string will be returned.
For example when we have the string “384.75a” and we want to convert it to a number, the result will be 384.
The second argument is radix, it specifies the base of the number whose string representation is contained in the string. The radix, argument can be any integer from 2 to 36. Remember that radix is separated from the string by a comma.
Let’s consider you have the string "77.22", and you set the radix 16. The result will be 119 (= 7 + 7*16).
Strings beginning with 0x or -0x radix are parsed as hexadecimals(the radix is 16) . If you have “0x77” string, the result will be 119 (= 7 + 7*16).
Strings beginning with 0 or -0 are parsed as octal numbers. If you have the string “-077” the result will be -77.
If the first argument cannot be converted to an integer, the result will be NaN .
Use Number() function, which converts the object argument to a number that represents the object's value.
The given example will return 384.75
Use +
One trick is to use + before the string:
The result of the above-mentioned example will be 384.75.
Use * 1 after the string
This is one of the fastest options, it is similar to the + unary operator. It does not perform conversion to an integer if the number is a float.
The result will be 38.