首页 > 代码库 > 使用parseInt时候出现的问题

使用parseInt时候出现的问题

今天写js的时候出现了一个问题很郁闷,就是用parseInt转换01,02到10的时候都能得到正确结果除了08,09出错了,返回了0。后来查看了parseInt的语法:

parseInt(string, radix);
其中string为要转换的字符串,radix为二进制,八进制,十六进制或十进制。
在默认不指定radix时,当以0x开关时,为十六进制;如果以0开关且第二位不为x,则让为是八进制,(因为八进制不能有8,9所以报错返回0)。
所以,在我们用时还是明确指定进位制,以防出错。
如我们平时都用十进制位,我们就 parseInt("08", 10);