我的天,javascript中parseInt(08)和parseInt(09)居然返回0
2010-06-22 08:35
288 查看
最近在使用My97DatePicker日期选择控件时,有一个需求,需要在选择中的日期的基础上按照一定的规则添加指定的天数。
在使用Javascript中的parseInt()函数中,无意中发现一个问题:
parseInt(08)和parseInt(09),居然返回的是“0”。
原以为是My97DatePicker的问题,后来一步步排查,感觉是parseInt函数的问题。
摆肚一下,还真是它有问题。(其实问题还是自己没有对这个函数十分了解。)
--------------------------------
对于parseInt("01")到parseInt("07");都能得到正确的结果,但如果是parseInt("08") 或parseInt("09")则返回0;
首先看parseInt语法:parseInt(string, radix);
其中string为要转换的字符串,radix为二进制,八进制,十六进制或十进制。
在默认不指定radix时,当以0x开关时,为十六进制;如果以0开关且第二位不为x,则让为是八进制,(因为八进制不能有8,9所以报错返回0)。
所以,在我们用时还是明确指定进位制,以防出错。
如我们平时都用十进制位,我们就 parseInt("08", 10);
在使用Javascript中的parseInt()函数中,无意中发现一个问题:
parseInt(08)和parseInt(09),居然返回的是“0”。
原以为是My97DatePicker的问题,后来一步步排查,感觉是parseInt函数的问题。
摆肚一下,还真是它有问题。(其实问题还是自己没有对这个函数十分了解。)
--------------------------------
对于parseInt("01")到parseInt("07");都能得到正确的结果,但如果是parseInt("08") 或parseInt("09")则返回0;
首先看parseInt语法:parseInt(string, radix);
其中string为要转换的字符串,radix为二进制,八进制,十六进制或十进制。
在默认不指定radix时,当以0x开关时,为十六进制;如果以0开关且第二位不为x,则让为是八进制,(因为八进制不能有8,9所以报错返回0)。
所以,在我们用时还是明确指定进位制,以防出错。
如我们平时都用十进制位,我们就 parseInt("08", 10);
相关文章推荐
- JavaScript中的ParseInt("08")和“09”返回0的原因分析及解决办法
- javascript中parseInt(),08,09,返回0
- JavaScript中的ParseInt("08")和“09”返回0的原因分析及解决办法
- JavaScript中的ParseInt("08")和“09”返回0的原因分析及解决办法
- javascript---parseInt("08")或parseInt("09")转换返回0的解决办法
- javascript---parseInt("08")或parseInt("09")转换返回0的解决办法
- 关于windows的safari浏览器的parseInt()函数处理08和09异常问题
- 关于windows的safari浏览器的parseInt()函数处理08和09异常问题
- js最大时间间隔为一个月的处理以及parseInt(08)和parseInt(09)的一个bug
- JavaScript 的 parseInt('08')
- 关于windows的safari浏览器的parseInt()函数处理08和09异常问题
- parseInt(08)或者parseInt(09)错误
- JS:parseInt("08")或parseInt("09")转换返回0的原因
- 关于windows的safari浏览器的parseInt()函数处理08和09异常问题
- parseInt("09")的时候返回0,了解parseInt原理
- JS:parseInt("08")或parseInt("09")转换返回0的原因
- JS:parseInt("08")或parseInt("09")转换返回0的原因
- 关于windows的safari浏览器的parseInt()函数处理08和09异常问题
- 关于windows的safari浏览器的parseInt()函数处理08和09异常问题
- IE8下面parseInt('08')、parseInt('09')会转成0