当参数 radix 的值为 0,或没有设置该参数时,parseInt() 会根据 string 来判断数字的基数。
当忽略参数 radix , JavaScript 默认数字的基数如下:
如果 string 以 "0x" 开头,parseInt() 会把 string 的其余部分解析为十六进制的整数。
如果 string 以 0 开头,那么 ECMAScript v3 允许 parseInt() 的一个实现把其后的字符解析为八进制或十六进制的数字。
如果 string 以 1 ~ 9 的数字开头,parseInt() 将把它解析为十进制的整数。
parseInt(string, radix)
string
必需。要被解析的字符串。
radix
可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。
浏览器支持
所有主要浏览器都支持 parseInt() 函数
提示和注释
注意:
只有字符串中的第一个数字会被返回。
注意:
开头和结尾的空格是允许的。
注意:
如果字符串的第一个字符不能被转换为数字,那么 parseInt() 会返回 NaN。
注意:
在字符串以"0"为开始时旧的浏览器默认使用八进制基数。ECMAScript 5,默认的是十进制的基数。
我们将使用 parseInt() 来解析不同的字符串:
document
.
write
(
parseInt
(
"
10
"
)
+
"
<br>
"
)
;
document
.
write
(
parseInt
(
"
10.33
"
)
+
"
<br>
"
)
;
document
.
write
(
parseInt
(
"
34 45 66
"
)
+
"
<br>
"
)
;
document
.
write
(
parseInt
(
"
60
"
)
+
"
<br>
"
)
;
document
.
write
(
parseInt
(
"
40 years
"
)
+
"
<br>
"
)
;
document
.
write
(
parseInt
(
"
He was 40
"
)
+
"
<br>
"
)
;
document
.
write
(
"
<br>
"
)
;
document
.
write
(
parseInt
(
"
10
"
,
10
)
+
"
<br>
"
)
;
document
.
write
(
parseInt
(
"
010
"
)
+
"
<br>
"
)
;
document
.
write
(
parseInt
(
"
10
"
,
8
)
+
"
<br>
"
)
;
document
.
write
(
parseInt
(
"
0x10
"
)
+
"
<br>
"
)
;
document
.
write
(
parseInt
(
"
10
"
,
16
)
+
"
<br>
"
)
;
以上实例输出结果:
尝试一下 »
注意:
旧浏览器由于使用旧版本的ECMAScript(ECMAScript版本小于ECMAScript 5,当字符串以"0"开头时默认使用八进制,ECMAScript 5使用的是十进制),所以在解析("010") 将输出8。
JavaScript 全局函数