JavaScript parseInt() 函数
从官方理解:
parseInt() 函数解析字符串并返回整数。
radix 参数用于指定使用哪种数字系统,例如基数为 16(十六进制)表示字符串中的数字应从十六进制数解析为十进制数。
如果 radix 参数被省略,JavaScript 假定如下:
如果字符串以 "0x" 开头,则基数为 16(十六进制)
如果字符串以 "0" 开头,则基数为 8(八进制)。此特性已弃用
如果字符串以任何其他值开头,则基数为 10(十进制)
这个可能有点抽象,举个例子就显而易见了
结果:
分析一下:
第a,b,c我相信是没问题的,主要作用就是识别数字,返回整数
然后从d=34 我们可以看到parseInt只识别了第一个数字,后面的45,66,是没有识别读取的,所以parseint的
第一个规律是在读取字符串时只读取第一个数字。
然后看到e,发现e我们在声明赋值的时候是parseint(" 60 "),但结果还是60,发现什么?
第二个规律parseInt在读取时是忽略对空格的影响,然后我们看到f,g发现什么? parseint不仅只读取第一个数字,还只读取第一位数字。
第三个规律然后相对于h,j,l有符号的”“的情况,只读取后面一位数字,也就是纯数字优先。
第四个规律我们可以看到parseInt对字符串的解析是非常强的,对数字的铭也是非常敏感,像八进制和十进制,例如i,k,直接转换。
更多例子:
var num1 = parseInt("10"); // 将字符串"10"转换为整数
console.log(num1); // 输出: 10
var num2 = parseInt("10", 2); // 将二进制字符串"10"转换为整数
console.log(num2); // 输出: 2
var num3 = parseInt("ABC", 16); // 将十六进制字符串"ABC"转换为整数
console.log(num3); // 输出: 2748
var num4 = parseInt("xyz"); // 无法转换为整数,返回NaN
console.log(num4); // 输出: NaN