最近正在深究一些js的細節技巧,剛好碰上一個問題,怎麼把字串變成數字,平時在沒深究前,都會固定用parseInt方法直接轉成數字,而並不多考慮情況,然而深究之後並沒想到原來轉換也還有各種規則。下面就聽小編細細道來;
工具/原料
帶開發工具的瀏覽器
電腦
準備工作
開啟控制檯
首先開啟帶開發工具的瀏覽器,例如小編打開了chrome瀏覽器,接著按f12開啟開發者工具,切換到“console”控制檯介面;
parseInt方法
純數字字串轉換
假設你的轉換的就是純數字字串,例如小編編寫的 var str=“12.222”,用parseInt方法就會直接轉成數字格式,同時會去除了小數點後的數字;
帶數字和字母的轉換
假設你的字串是帶數字和字母的,例如 var str=“12world”,這時的轉換規則主要是將有數字部分直接轉成整數,然後摒棄字母或其他字元;
純字母轉換
假設你想轉的字串是純字母,例如 var str=“world”,這時就會直接轉成NAN;
16進位制字元轉換
假設你想轉的字串是16進位制字元,例如 var str=“world”,直接就會轉成十進位制數字;因為parseInt方法預設是轉成十進位制數字;
Number方法
不同之處
Number方法也能將字串轉成數字,用上面的各種字串值重新用number方法測試,會發現其中的不同之處,Number方法對於帶數字和字母的混合型字串也會直接轉成NAN值;
布林值轉換
但Number方法還可以轉換布林值,可以將布林值轉換成1或0;而parseInt方法直接對布林值轉成NAN;
運演算法
運算轉換
假如字串是純字串型,可以用運算子簡單將其轉成整數;如圖所示,但這方法小編不建議使用;