JavaScript - parseInt()方法自動判斷進制

 parseInt(numString)js中非常常用的一個方法,其作用是將字符串转换为int类型。但是使用的过程中,你會發現,當num的值為01-07的值的字符串時,得到的結果是1-7,當你輸入的值為0809060等值時,到的結果卻不是8960… 自己最近在項目中就遇到這樣的問題,后面查了js API,發現parseInt方法的參數及說明如下:

parseInt(numString, [radix])

numString

必选项。要转换为数字的字符串。

radix

可选项。在 2 36 之间的表示 numString所保存数字的进制的值。如果没有提供,则前缀为 '0x' 的字符串被当作十六进制,前缀为 '0' 的字符串被当作八进制。所有其它字符串都被当作是十进制的

看了API才知道,原來像0809060這些值,如果我們沒有指定為十進制,js會把它們當成了十六進制。所以以后在使用parseInt()方法時,為了防止遇到這種情況而導制不必要的問題,就要指定進制了。

posted @ 2011-08-03 22:43  戴眼镜的码农  阅读(292)  评论(0编辑  收藏  举报