/** * @param {string} s * @return {number} */ var myAtoi = function (s) { // 正负号默认为正 let res = 0; let negativeSymbol = 1; s = s.trim(); for (let i = 0; i < s.length; i++) { if (i == 0 && s[i] == "-") { negativeSymbol = -1; continue; } else if (i == 0 && s[i] == "+") { negativeSymbol = 1; continue; } // 如果为数据,且不为空格,如果遇到空格,就终止循环。 if (s[i] >= 0 && s[i] <= 9 && s[i] != " ") { res = res * 10 + (s[i] - '0'); // 注意将字符转换成数字 } else break; // 进行数据范围判断 if (res * negativeSymbol <= -2147483648) return -2147483648; else if (res * negativeSymbol >= 2147483647) return 2147483647; } return res * negativeSymbol; };