JavaScript 字符串轉整數
JavaScript 中有一些常見的字符串轉數字的方法,例如 Number() 函數和 parseInt() 函數,但這些函數在處理一些特定的字符串時可能會出現問題。因此,我們可以使用一些自定義的函數來將字符串轉為整數。
方法一:字符乘以 1
這種方法最簡單直接,只需將字符串乘以 1 即可將其轉換為數字:
let str = '123';
let num = str * 1;
console.log(num); // 輸出 123
需要注意的是,為了避免在數學計算中出錯,我們需要先確保字符串中只包含數字字符。
方法二:使用位運算符
將字符串轉換為數字可以使用位運算符,例如左移位運算符(<<)可以將字符串轉換為整數:
let str = '123';
let num = str<< 0;
console.log(num); // 輸出 123
同樣地,在使用位運算符之前需要確保字符串中只包含數字字符。
方法三:使用正則表達式
使用正則表達式可以過濾字符串中的非數字字符,并將其轉換為整數:
function strToInt(str) {
let num = parseInt(str.replace(/[^0-9]/g, ''));
return num;
}
console.log(strToInt('123')); // 輸出 123
console.log(strToInt('abc123')); // 輸出 123
在上述代碼中,我們使用了 replace() 函數和正則表達式來過濾非數字字符。該函數將非數字字符替換為空字符,從而產生一個只包含數字的新字符串。
方法四:使用自定義函數
最后,我們可以編寫一個自定義的函數將字符串轉換為整數:
function strToInt(str) {
let num = 0;
for (let i = 0; i < str.length; i++) {
num = num * 10 + (str.charCodeAt(i) - '0'.charCodeAt(0));
}
return num;
}
console.log(strToInt('123')); // 輸出 123
console.log(strToInt('abc123')); // 輸出 NaN
該函數的原理是將每個字符轉換為對應的數字,并將其添加到結果中。為了將字符轉換為數字,我們使用了 charCodeAt() 函數。
總結
JavaScript 中有多種方法可以將字符串轉換為整數。具體使用哪種方法取決于字符串的格式和要求。
下一篇java求完數和因子