關於JS中的parseInt 099 函式解惑

2021-06-06 22:58:06 字數 462 閱讀 1576

對於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);

值得注意啊!今天解決問題時,無意間發現原來就是parseint導致的bug.

後來補上了第二個引數10,就好了。呵呵o(∩_∩)o~

特此黏貼我的**如下:計算**=單價*數量

js中的parseInt()用法

var num parseint demo radix demo 是你要轉換的那個數 var demo 123 var num parseint demo console.log typeof num num number 123 var demo true var num parseint dem...

js中parseInt函式的解析

首先還是從很熱門的例項parseint 09 0說起。parseint number,type 這個函式後面如果不跟第2個引數來表示進製的話,預設是10進製。比如說parseint 010 10 就是10進製的結果 10,parseint 010 2 就是2進製的結果 2,parseint 010 ...

js的parseInt函式結果為0很奇怪的問題

當執行的 為parseint 08 時,結果為0 而執行的 為parseint 0x 時,其中x為1 9之間除過8的數字,結果都是正常的數字 不太明白為什麼會出現這樣的結果 參考 今天再用parseint方法進行字元到數字轉化時,發現 parseint 09 1結果為2 parseint 08 1結...