一、基本概念
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-hk/n/306141.html