In JavaScript, there are generally three ways to convert numerical values:
1. Number(param) function: param can be used for any data type
1.1 param is the Boolean value, true and false are converted to 1 and 0 respectively;
1.2 param is a numeric value, just a simple pass in and return
1.3 param is null and undefined, returning 0 and NaN respectively
1.4 param is a string, following the following rules:
1.4.1 If only numbers are included in the string, it is converted to decimal and the leading 0 is ignored;
1.4.2 If the string contains a valid floating point format, the corresponding floating point value is returned, and the leading 0 is ignored;
1.4.3 If the string contains valid hexadecimal, return a decimal value of equal size.
1.4.4 If the string is empty, return 0
1.4.5 If the string contains characters other than the above format, return NaN
1.5 If param is an object, then call the valueOf() method, convert the string value according to the previous rules to return. If NaN is returned, call the toString() method, and convert the string value according to the previous rules to return.
1.6 Example:
<span style="font-family:Microsoft YaHei;font-size:18px;">var num1 = Number("hello"); //NaN var num2 = Number(""); //0 var num3 = Number("00022"); //22 var num4 = Number(true); //1</span>2. parseInt(param): converts a string into an integer, param is a string type.
parseInt() ignores the space before the string until the first non-space character S is found; if S is not a number or a negative sign, it returns NaN (that is, parseInt() returns NaN for the empty character, note that Number() returns 0 for the empty character). If S is a number, parseInt() will continue to parse the next character until all characters are parsed or a non-numeric character is encountered. parseInt() supports parse and hexadecimal parsing
<span style="font-family:Microsoft YaHei;font-size:18px;">var num1 = parseInt("1234blue"); //1234 var num2 = parseInt(""); //NaN var num3 = parseInt("22.5"); //22 var num4 = parseInt("070"); //Octal, convert to decimal 56</span>3. parseIFloat(param): converts a string into a floating point number. param is a string type.
Similar to parseInt, parseFloat() starts parsing from the first character until all characters are parsed or a non-floating point numeric character is encountered. The first decimal point is valid, but the second one is invalid, and the function can only parse decimal numbers because it always ignores the leading 0.
<span style="font-family:Microsoft YaHei;font-size:18px;">var num1 = parseFloat("1234blue"); // 1234 var num2 = parseFloat("0xf6"); // 0 var num3 = parseFloat("22.5"); // 22.5 var num4 = parseFloat("22.5.4"); // 22.5 var num5 = parseFloat("3.125e7"); // 31250000</span>