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) 或者 parseInt("09",10)
parseInt(string,radix)的作用是将string转换为整数,第二个参数是设置string的格式,常用的有2、8、10、16,表示string是多少进制的数。
radix 可取值的范围是2~36,如果不在这个范围内,将返回NaN。
如果设置radix的值是0或者不设置时,会自动识别string的格式:
以 "0x" 开头,parseInt() 会把 string 除0x外的其余部分当作十六进制数,
以 "0" 开头,parseInt() 会把 string 除0外的字符当作八进制或十六进制数,
以 1 ~ 9 的数字开头,parseInt() 将把它当作十进制数。
以上所述是小编给大家介绍的JavaScript中ParseInt("08")和“09”返回0的原因分析及解决办法的相关知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
- 关于javascript中的parseInt使用技巧
- javascript parseInt 大改造
- javaScript parseInt字符转化为数字函数使用小结
- js parsefloat parseint 转换函数
- javascript parseInt与Number函数的区别
- javascript 数据类型转换(parseInt,parseFloat)
- js parseInt的陷阱分析小结
- JavaScript的parseInt 取整使用
- javascript parseInt() 函数的进制转换注意细节
- javascript中的parseInt和parseFloat区别
- js中parseInt函数浅谈
- js数值计算时使用parseInt进行数据类型转换(jquery)
相关文章
基于d3.js/neovis.js/neod3.js实现链接neo4j图形数据库的图像化显示功能
neovis.js 由vis.js支持的图形可视化以及来自Neo4j的数据。这篇文章主要介绍了基于d3.js/neovis.js/neod3.js实现链接neo4j图形数据库的图像化显示功能,需要的朋友可以参考下2022-02-02
ECHO.js 纯javascript轻量级延迟加载的实例代码
下面小编就为大家带来一篇ECHO.js 纯javascript轻量级延迟加载的实例代码。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2016-05-05
js中find、findIndex、indexOf的用法和区别
本文主要介绍了js中find、findIndex、indexOf的用法和区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2023-07-07


最新评论