当前位置: 代码迷 >> Web前端 >> 哪位高手能告诉小弟我为什么parseInt('09'); parseInt('08');的结果居然为零?
  详细解决方案

哪位高手能告诉小弟我为什么parseInt('09'); parseInt('08');的结果居然为零?

热度:611   发布时间:2012-11-23 00:03:43.0
谁能告诉我为什么parseInt('09'); parseInt('08');的结果居然为零?!!

有兴趣的朋友可以执行下面这段脚本:

<input type="button" value="parseInt('05')" onclick="alert(parseInt('05'))">

<input type="button" value="parseInt('08')" onclick="alert(parseInt('08'))">

<input type="button" value="parseInt('09')" onclick="alert(parseInt('09'))">

我在IE7和FF下面试过了parseInt('05')=5,可是parseInt('08'),parseInt('09')却等于零,而且就这两个数字最特别,居然为0,百思不得其解,希望有人知道为什么。

?

1 楼 jindw 2008-05-02  
8进制!
2 楼 comasp 2008-05-02  
var num=parseInt(str.substring(2),10);

若不加后面的参数,str.substring(2)只能被转化到0-7,
显然只能转化为八进制,
3 楼 comasp 2008-05-02  
08 跟 8 不同.
parseInt 默认 以0开头的是八进制数字, 0x开头的是十六进制数
4 楼 cai555 2008-05-03  
居然被评为入门帖,不过还是感谢解答的各位
5 楼 yangpanwww 2008-07-31  
解决方法:parseInt('05',10)"
 
  相关解决方案