剑指offer - 综合
把字符串转换成整数
问题描述:
将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为 0 或者字符串不是一个合法的数值则返回 0
输入描述:输入一个字符串,包括数字字母符号,可以为空
输出描述:如果是合法的数值表达则返回该数字,否则返回 0
输入
+2147483647
1a33
输出
2147483647
0
function StrToInt(str) {
// write code here
var obj = {
"1": 1,
"2": 2,
"3": 3,
"4": 4,
"5": 5,
"6": 6,
"7": 7,
"8": 8,
"9": 9,
"0": 0,
"-": -1,
"+": 1,
};
for (let i = 0; i < str.length; i++) {
if (!obj[str[i]]) {
return 0;
}
}
if (str === "+" || str === "-") return 0;
var num = str / 1;
if (num === -2147483649 || num === 2147483648) {
return 0;
}
return num;
}