js从字符串中解析成数字
问题
在对时间处理时,我们得到了好的编程者得到了“08”,“09”月份,为了日期的初始化或着比较月份的大小,匆匆进行
parseInt("08");
parseInt("09");
一般我们都认为万事大吉了,其实在IE8中编程会报错,大多是我们会抱怨IE8及其低版本浏览器的土鳖。
其实不然,是因为我们的编程太不细心,慢慢道来。
js中的整型类型有 10进制类型,2进制类型,8进制类型(前缀0),16进制类型(前缀0x)
有点浏览器将“08”当做8进制数处理了,恍然大悟
解决方法:
仔细使用parseInt方法,好好学透
parseInt(string, radix)
参数 | 描述 |
---|---|
string | 必需。要被解析的字符串。 |
radix | 可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。 如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0X” 开头,将以 16 为基数。 如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。 |
以10为基数就可以得到想要的结果了