Javascript methods to convert values into numeric types: 1. Use the parseInt() method to convert the value to an integer; 2. Use the parseFloat() function to convert the value to a floating point number; 3. Use The multiplication operator multiplies a variable by 1, and the variable will be automatically converted into a numerical value, and the result will not change.
The operating environment of this tutorial: windows7 system, javascript version 1.8.5, Dell G3 computer.
Method 1: Use parseInt()
parseInt() is a global method that converts a value to an integer. The conversion process is as follows:
First parse the character at position 0. If it is not a valid number, NaN will be returned directly.
If the character at position 0 is a number or can be converted to a valid number, continue to parse the character at position 1. If it is not a valid number, return the valid number at position 0 directly.
And so on, analyzing each character one by one in order from left to right until a non-numeric character is found.
parseInt() will convert all previously analyzed legal numeric characters into numerical values and return them.
console.log(parseInt("123abc")); //返回数字123 console.log(parseInt("1.73")); //返回数字1 console.log(parseInt(".123")); //返回值NaN
Dots in floating-point numbers are illegal characters for parseInt(), so the decimal part of the value will not be converted.
If it is a numeric string starting with 0, parseInt() will treat it as an octal number: first convert it to an octal value, and then convert it to a decimal number and return it.
If it is a numeric string starting with 0x, parseInt() will treat it as a hexadecimal number: first convert it to a hexadecimal value, and then convert it to a decimal number and return .
var d = 010; //八进制数字字符串 var e = 0x10; //十六进制数字字符串 console.log(parseInt(d)); //返回十进制数字8 console.log(parseInt(e)); //返回十进制数字16
parseInt() also supports base mode, which can convert digital strings in different bases such as binary, octal, and hexadecimal into integers. The base mode is specified by the second parameter of the parseInt() function.
[Example 1] The following code converts the hexadecimal digit string "123abc" into a decimal integer.
var a = "123abc"; console.log(parseInt(a,16)); //返回十进制整数1194684
[Example 2] The following code converts binary, octal and decimal digit strings into decimal integers.
console.log(parseInt("10",2)); //把二进制数字 10 转换为十进制整数,为 2 console.log(parseInt("10",8)); //把八进制数字 10 转换为十进制整数,为 8 console.log(parseInt("10",10)); //把十进制数字 10 转换为十进制整数,为 10
[Example 3] If the first parameter is a decimal value and contains a 0 prefix, in order to avoid being misunderstood as an octal number, the second parameter value should be specified as 10, that is, the display definition base mode , instead of adopting the default base mode.
console.log(parseInt("010")); //把默认基模式数字 010 转换为十进制整数为 10 console.log(parseInt("010",8)); //把八进制数字 010 转换为十进制整数为 8 console.log(parseInt("010",10)); //把十进制数字 010 转换为十进制整数为 10
Method 2: Use parseFloat() function
parseFloat() is also a global method, which can convert the value to a floating point number, that is, it can identify the first occurrences of a decimal point, and the second decimal point is considered illegal. The parsing process is the same as the parseInt() method.
console.log(parseFloat("1.234.5")); //返回数值 1.234
The parameter of parseFloat() must be a string in decimal form, and octal or hexadecimal numeric strings cannot be used. At the same time, 0 (octal number identification) in front of the number will be ignored, and 0 will be returned for hexadecimal numbers.
console.log(parseFloat("123")); //返回数值 123 console.log(parseFloat("123abc")); //返回数值 123 console.log(parseFloat("010")); //返回数值 10 console.log(parseFloat("0x10")); //返回数值 0 console.log(parseFloat("x10")); //返回数值 NaN
Method 3: Use the multiplication operator
If the variable is multiplied by 1, the variable will be automatically converted to a numeric value by JavaScript. After multiplying by 1, the result is unchanged, but the type of the value is converted to a numeric value. If the value cannot be reduced to a legal number, NaN is returned.
var a = 1; //数值 var b = "1"; //数字字符串 console.log(a + (b * 1)); //返回数值 2
[Recommended learning: javascript advanced tutorial]
The above is the detailed content of How to convert value to numeric type in javascript. For more information, please follow other related articles on the PHP Chinese website!