有關(guān)js parseInt("08")問題
Posted on 2009-07-31 15:53 Fingki.li 閱讀(3593) 評(píng)論(4) 編輯 收藏 所屬分類: About others對(duì)于parseInt("01")到parseInt("07");都能得到正確的結(jié)果,但如果是parseInt("08") 或parseInt("09")則返回0;
首先看parseInt語法:parseInt(string, radix);
其中string為要轉(zhuǎn)換的字符串,radix為二進(jìn)制,八進(jìn)制,十六進(jìn)制或十進(jìn)制。
在默認(rèn)不指定radix時(shí),當(dāng)以0x開關(guān)時(shí),為十六進(jìn)制;如果以0開關(guān)且第二位不為x,則讓為是八進(jìn)制,(因?yàn)榘诉M(jìn)制不能有8,9所以報(bào)錯(cuò)返回0)。
所以,在我們用時(shí)還是明確指定進(jìn)位制,以防出錯(cuò)。
如我們平時(shí)都用十進(jìn)制位,我們就 parseInt("08", 10);
首先看parseInt語法:parseInt(string, radix);
其中string為要轉(zhuǎn)換的字符串,radix為二進(jìn)制,八進(jìn)制,十六進(jìn)制或十進(jìn)制。
在默認(rèn)不指定radix時(shí),當(dāng)以0x開關(guān)時(shí),為十六進(jìn)制;如果以0開關(guān)且第二位不為x,則讓為是八進(jìn)制,(因?yàn)榘诉M(jìn)制不能有8,9所以報(bào)錯(cuò)返回0)。
所以,在我們用時(shí)還是明確指定進(jìn)位制,以防出錯(cuò)。
如我們平時(shí)都用十進(jìn)制位,我們就 parseInt("08", 10);