posts - 72, comments - 66, trackbacks - 0, articles - 0

有关js parseInt("08")问题

Posted on 2009-07-31 15:53 Fingki.li 阅读(3576) 评论(4)  编辑  收藏 所属分类: About others
对于parseInt("01")到parseInt("07");都能得到正确的结果,但如果是parseInt("08") 或parseInt("09")则返回0;
首先看parseInt语法:parseInt(string, radix);
其中string为要转换的字符串,radix为二进制,八进制,十六进制或十进制。
在默认不指定radix时,当以0x开关时,为十六进制;如果以0开关且第二位不为x,则让为是八进制,(因为八进制不能有8,9所以报错返回0)。
所以,在我们用时还是明确指定进位制,以防出错。
如我们平时都用十进制位,我们就 parseInt("08", 10);

Feedback

# re: 有关js parseInt("08")问题  回复  更多评论   

2009-07-31 17:48 by HiMagic!
记住这个吧,只要一写parseInt,就想着参数里加个10.

# re: 有关js parseInt("08")问题  回复  更多评论   

2009-07-31 21:56 by testkk
嗯,前不久发现了这个问题,是在分页的验证js中,不过当时的解决方法不是添加上进制位,而是转为number类型的。。

# re: 有关js parseInt("08")问题[未登录]  回复  更多评论   

2009-08-01 10:30 by Java爱好者
老毛病了

# re: 有关js parseInt("08")问题  回复  更多评论   

2009-08-03 10:00 by 分享爱的空间
值得注意

只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问