当执行的代码为parseInt("08")时,结果为0
而执行的代码为parseInt("0X")时,其中X为1~9之间除过8的数字,结果都是正常的数字
不太明白为什么会出现这样的结果
参考:http://lhb-ljf.iteye.com/blog/1703631
今天再用parseInt方法进行字符到数字转化时,发现
parseInt("09")+1结果为2
parseInt("08")+1结果为1
而parserInt("07")+1结果则正常
通过他人帮助得知,原来parseInt方法吧“08”,“09”这些开头为0的默认当做是8进制了,素以结果不对。
而如果想按照10进制来计算的话,应为:
parseInt("08",10)+1 , 则结果正常,为9
看到上面的结果,貌似结果为零还是有真相的
parseInt解析进制问题
本文探讨了使用JavaScript的parseInt方法将字符串转换为整数时遇到的问题。特别关注以0开头的数字被默认解释为八进制的情况,并给出了如何指定十进制解析的方法。
78

被折叠的 条评论
为什么被折叠?



