可能的重复:
JavaScript parseInt 八进制错误的解决方法
令人惊讶的是它又回来了0
。为什么?获得正确结果的(正确)解决方案是什么?
使用基数:
var x = parseInt("08", 10);
一些 JavaScript 实现在标准定义的两个数字系统的基础上添加了第三个数字系统(十进制,默认值;十六进制,前缀为0x
):八进制,前缀为0
。这是非标准但公认在最新规格.
Since 8
不是有效的八进制数字,parseInt
停在那里,返回值0
.
通过明确使用基数,您可以告诉parseInt
不要尝试找出正在使用的数字系统,而是使用您指定的数字系统。打字时的直觉parseInt
should alwaysbe 指定基数;不这样做会让你容易遇到奇怪的事情。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)