1. 程式人生 > >js-將整數字符串解析成對應的數字

js-將整數字符串解析成對應的數字

不要過分依賴API,如果可以的話,多想想如何手動解決問題。

在面試時遇到這麼個問題,大致描述如下:現有如下需求,需要將字串型別的數字轉換為數字型別,不適用parseInt函式實現?

例如:
輸入:"12345",
輸出:12345

/**
 * @param {string} str
 * @return {number}
 */

 function parseStrToInt(str) {
  // // 若存在parseInt(),則直接轉換
  // if (Number.parseInt) {
  //   return Number.parseInt(str);
  // }
  let len = str.length;
  let res = 0
; for (let i = 0; i < len; i++) { // 遍歷字串,若存在charCodeAt(),則手動獲取字元對應的ASCII碼 // 0~9對應的ASCII碼為48~57 // 使用ASCII碼-48,再乘以倍數,結果累加,即是轉換後的數字型別 if (String.prototype.charCodeAt) { res += (str[i].charCodeAt() - 48) * 10 ** (len - i - 1); } else { res += str[i] * 10 ** (len - i - 1); } } return
res; }