一、基本概念
parseInt()是JavaScript中的函數,主要用於把字元串轉化為整數類型(number)。
語法:parseInt(string, radix)
其中,string表示要被轉換的字元串,radix為可選參數,表示要被解析的數字的基數。
返回值:將string解析成為整數後的結果。
二、用途
parseInt()主要應用在以下幾個方面:
1. 網頁表單驗證
// 比如,以下代碼用於驗證輸入的數字是否為1~100之間的整數 function validateNumber(){ let num = document.getElementById("userNum").value; if(num === ""){ alert("請輸入數字!"); return false; } let newNum = parseInt(num); if(newNum >= 1 && newNum <= 100 && Number.isInteger(newNum)){ alert("輸入正確"); return true; } else { alert("請輸入1~100之間的整數!"); return false; } }
2. 與數組的配合使用
在數組的排序或查找操作中,經常需要將字元串類型轉換為數字類型。舉個例子:
let arr = ["10", "2", "30", "5", "100"]; arr.sort(function(a, b){ return parseInt(a) - parseInt(b); }); console.log(arr); // 輸出 ["2", "5", "10", "30", "100"]
3. 字元串的拼接與轉換
let str = "123"; let newStr = str + ""; console.log(newStr); // 輸出 "123" let newNum = parseInt(newStr); console.log(newNum); // 輸出 123
三、注意事項
1、如果字元串中存在非數字字元,parseInt()會將其忽略,只返回前面的數字部分。
let str = "123xyz"; let newNum = parseInt(str); console.log(newNum); // 輸出 123
2、如果不傳入基數參數,parseInt()會默認使用十進位進行轉換。如果字元串以”0x”開頭,會自動轉換為十六進位數。
let str1 = "13"; let str2 = "0x13"; let num1 = parseInt(str1); let num2 = parseInt(str2); console.log(num1); // 輸出 13 console.log(num2); // 輸出 19
3、對於小數類型的字元串,只會返回整數部分。
let str = "3.14"; let newNum = parseInt(str); console.log(newNum); // 輸出 3
4、字元串長度超過15位時,由於JS數字的精度問題,parseInt()可能會出現錯誤的結果。建議使用BigInt類型進行轉換。
let str = "1234567890123456"; let newNum = parseInt(str); console.log(newNum); // 輸出 1.234567890123456e+15 let bigIntNum = BigInt(str); console.log(bigIntNum); // 輸出 1234567890123456n
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/306141.html