1. 是什么
parseInt(string, radix) 函数解析一个字符串,返回一个10进制的整数或者NaN
1.1 参数
string
是一个字符串,例如”123“,‘0xF’,
radix
介于2-36之间的数,表示string字符串的进制进制,如10进制。 其中radix可以省略,默认为10进制。
1.2 举例
parseInt('11',2) //"11"这个字符串是2进制的返回3 parseInt('11',10) //"11"这个字符串是10进制的返回11 parseInt('0xF',16) //"0xF"这个字符串是16进制的返回15
2 注意事项
2.1 如果第一个字符不能被转换成数字,parseInt返回NaN。
parseInt("syl", 8); // 根本就不是数值,输出NaN parseInt("5", 2); // 除了“0、1”外,其它数字都不是有效二进制数字,输出NaN
2.2 在基数为 undefined,或者基数为 0 或者没有指定的情况下,JavaScript 作如下处理:
1. 如果字符串 string 以"0x"或者"0X"开头, 则基数是16 (16进制). 2. 如果字符串 string 以"0"开头, 基数是8(八进制)或者10(十进制), 那么具体是哪个基数由实现环境决定。 ECMAScript 5 规定使用10,但是并不是所有的浏览器都遵循这个规定。 因此,永远都要明确给出radix参数的值。 3. 如果字符串 string 以其它任何值开头,则基数是10 (十进制)。
2.3 如果字符串中间不属于radix参数所指定的基数中的字符那么该字符和其后的字符都将被忽略。开头和结尾的空白符允许存在
parseInt("22 3 2019") //出现空格,忽略,输出22 parseInt(“2.366”)= 2 //出现.,忽略,输出2
2.4 带有e的字符串请谨慎处理
parseInt("6.022e23", 10); // 返回 6 parseInt(6.022e2, 10); // 返回 602