在JavaScript中,string转int操作时,谨慎使用parseInt(),它可以处理八进制,十进制,16进制等。需要显式指定才能不出错。
例如:
javascript中在使用parseInt(08)、
parseInt(09),进行整数转换的时候,返回值是0,而parseInt("01")...parseInt("07")都是正确的,原因是当在
前面有"0"时,javascript会认为这是一个八进制数,而"08"和"09"不是一个合法的八进制数,所以导致了那个问题。
parseInt函数实际上有另一个参数,显示的告诉parseInt按照十进制处理。
解决的方法:
parseInt("08",10) 或者 parseInt("09",10)
Number("08")或者Number("09")
这不应该称其为是一个bug,只是没想到。
尤其是在日起计算中使用千万要注意!
尤其是在日起计算中使用千万要注意!
尤其是在日起计算中使用千万要注意!