import java.lang.Math;
public class Solution {
public int StrToInt(String str) {
if(str == null || str.length() == 0) {
return 0;
}
boolean flag = true;//true表示+ false表示-
//字符串首位是正
if(str.charAt(0) == '+') {
flag = true;
//截取后面除去符号的位数
str = str.substring(1);
}else if(str.charAt(0) == '-') {
flag = false;
str = str.substring(1);
}
//将字符串转化为数组
double res = 0;
char[] s = str.toCharArray();
for(int i = 0; i < s.length; i++) {
//判断每一位字符是不是数字
if(!Character.isDigit(s[i])) {
return 0;
}else{
//是数字就开始计算 s[i] - 48是把字符转化为数字
res += Math.pow(10, s.length - i - 1) * (s[i] - 48);
}
}
//判断正负
if(flag == true) {
if(res > Integer.MAX_VALUE) {
return 0;
}else{
return (int)res;
}
}else {
if((0-res) < Integer.MIN_VALUE) {
return 0;
}else{
return (int)((0-res));
}
}
}
}
04-30
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交