先来贴图:
可以发现在使用parseInt()对字符串进行转换时,唯独“08”,“09”转换为0,而其他的都是转换成对应的数字,这到底是什么原因呢?
原来当字符串首位是“0”的时候,js默认其为8进制,所以问题来了,8进制数字只有0-7,所以前面的0-7都没有问题。
然而到了8和9问题就来了,8和9在8进制中是不合格的,所以将其输出为0。
解决方法:
将parseInt的参数加上,指定其转换为10进制就ok了。
唉,还是太年轻!
时间: 2024-10-13 02:44:32
先来贴图:
可以发现在使用parseInt()对字符串进行转换时,唯独“08”,“09”转换为0,而其他的都是转换成对应的数字,这到底是什么原因呢?
原来当字符串首位是“0”的时候,js默认其为8进制,所以问题来了,8进制数字只有0-7,所以前面的0-7都没有问题。
然而到了8和9问题就来了,8和9在8进制中是不合格的,所以将其输出为0。
解决方法:
将parseInt的参数加上,指定其转换为10进制就ok了。
唉,还是太年轻!