社区
JavaScript
帖子详情
parseInt('08')到底是什么?
leo_space
2015-11-01 12:23:03
网上搜索了一些资料,都说parseInt('08')结果是0,因为0开头的字符串在转换为整数时会按八进制转换。但是我在IE11,谷歌浏览器,360浏览器中alert(parseInt('08'))弹出结果都是8,这到底是怎么回事呢?
...全文
152
8
打赏
收藏
parseInt('08')到底是什么?
网上搜索了一些资料,都说parseInt('08')结果是0,因为0开头的字符串在转换为整数时会按八进制转换。但是我在IE11,谷歌浏览器,360浏览器中alert(parseInt('08'))弹出结果都是8,这到底是怎么回事呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
leo_space
2015-11-03
打赏
举报
回复
结贴了。ParseInt在转换0开头的字符串时,低版本的浏览器和高版本的浏览器有不同的实现。低版本浏览器会以八进制来转换,高版本浏览器以十进制来转换。为了避免这个坑,还是老老实实的加上ParseInt的第二个参数,来指定十进制转换。ParseInt("08","10")
qq_31182999
2015-11-03
打赏
举报
回复
拍摄于《JavaScript权威指南》,第一部分-3.8.3
xuzuning
2015-11-01
打赏
举报
回复
08 不可能解释为八进制数,因为八进制数只有0、1、2、3、4、5、6、7 八个状态 所以低版本的浏览器将其解释成 0,而高版本浏览器将其解释成十进制数 parseInt('010') 才是10进制8
xuzuning
2015-11-01
打赏
举报
回复
我前面已经说了,低版本浏览器中 parseInt('08') 都是 0,高版本的都是 8 这是技术的进步:智能识别
leo_space
2015-11-01
打赏
举报
回复
引用 4 楼 xuzuning 的回复:
那也不是 parseInt('077') 就是 63
也不尽然。我在火狐浏览器里测试,parseInt('077') 是63,同时parseInt('08')是0,但其他浏览器里均是77和8。 个人猜测,parseInt函数在不同的浏览器有不同的实现方式
xuzuning
2015-11-01
打赏
举报
回复
那也不是 parseInt('077') 就是 63
KK3K2005
2015-11-01
打赏
举报
回复
我觉得你以你测试的结果为准
leo_space
2015-11-01
打赏
举报
回复
[quote=引用 1 楼 xuzuning 的回复:] 08 不可能解释为八进制数,因为八进制数只有0、1、2、3、4、5、6、7 八个状态 所以低版本的浏览器将其解释成 0,而高版本浏览器将其解释成十进制数 也就是说,在现代浏览器里,使用parseInt不用考虑这个隐藏的八进制转换了是吗?
JavaScript中的
ParseInt
(“
08
”)和“09”返回0的原因分析及解决办法
今天在程序中出现一个bugger ,调试了好久,最后才发现,原来是这个问题。 做了一个实验: alert(
parseInt
(“01″)),当这个里面的值为01====》07时都是正常的,但是在”
08
”,”09″就会返回0 (这种现象出现在ie内核的浏览器中,如360浏览器就会出现这种错误)(谷歌,火狐不受影响) 。 查阅资料得知着这种现象原因: 大神的解释: 01–07自然没有问题,但是09,
08
都是不合格的八进制形式,所以被按照0处理了。为了解决这个问题,可以利用
parseInt
函数的另一个参数,显示的告诉
parseInt
按照十进制处理。
parseInt
(“
08
”,10) 或者 parse
javascript
parseInt
函数分析(转)
javascript的
parseInt
函数 javascript的
parseInt
函数,大家都知道是干啥的 但你知道
parseInt
(“07”) 返回多少 ?
parseInt
(“
08
”) 又返回多少 ? 正确答案是
parseInt
(“07”) 返回8
parseInt
(“
08
”) 返回0 你知道问题在哪? 其实,这个问题可能大家都没想过吧。 用javascript的
parseInt
函数时,
parseInt
(“
08
”)或者
parseInt
(“09”)返回的居然是0, 而
parseInt
(“01”)…
parseInt
(“07”)都是正确的。 为什么这样呢? 一开始很难理解,后来发现出现这个
JS中
parseInt
()和map()用法分析
本文实例讲述了JS中
parseInt
()和map()用法。分享给大家供大家参考,具体如下:
parseInt
()的几个例子 var b =
parseInt
("01"); alert("b="+b); var c =
parseInt
("09/
08
/2009"); alert("c="+c); 结果:b=1,c=0
parseInt
()用来解析字符串,返回整数,有几个特点: 1.无视被解析字符串最前和最后的空格,即:” 111 “和”111″是一样的 2.正规格式是
parseInt
(string,radix)。 第一个参数是被解析的字符串,第二个参数是进制(可不些) 第二个参数的特点: ①
javaScript
parseInt
字符转化为数字函数使用小结
今天测的时候发现问题了,当数据库中月份为09的时候就出问题了,用
parseInt
转换之后就成0了。好不解。测了好久,没有发现我代码中的问题,到google搜了一下,才知道是这么一回事。 对于
parseInt
(“01”)到
parseInt
(“07”);
parseInt
(“10”) 到 以后都能得到正确的结果,但如果是
parseInt
(“
08
”) 或
parseInt
(“09”)则返回0; 首先看
parseInt
语法:
parseInt
(string, radix); 如果后面参数没写就以第一个的开头判断其中string为要转换的字符串,radix为二进制,八进制,十六进制或十进制。 在默认不指定ra
javascript
parseInt
与Number函数的区别
但是
parseInt
(“
08
”, 10)是可以返回8的。 为搞清楚两者的区别, 参考了别人写的
parseInt
&Number的区别:
parseInt
Parses a string argument and returns an integer of the specified radix or base. 核心函数 实现版本 Navigator 2.0: If the first character of the string specified in
parseInt
(string) cannot be converted to a number, returns “NaN” on So
JavaScript
87,838
社区成员
224,614
社区内容
发帖
与我相关
我的任务
JavaScript
Web 开发 JavaScript
复制链接
扫一扫
分享
社区描述
Web 开发 JavaScript
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章