package cn.java.array;
public class StrToInt {
/**
* @param args
*/
public static void main(String[] args) {
System.out.println(StrToInt("12s"));
}
public static int StrToInt(String string){
long num=0;
boolean flag=false;
int index=0;
if(string!=null&&string.length()!=0){
char[] str=string.toCharArray();
if(str[0]=='-'){
flag=true;//字符串为负数,标记true
index++;
}
if(str[0]=='+'){
index++;
}
num=StrToIntCore(str,flag,index);
}
return (int)num;
}
private static long StrToIntCore(char[] str, boolean flag, int index) {
long num=0;
int result=(flag?-1:1);
for(int i=index;i<str.length;i++){//遍历字符数组
if(str[i]>='0'&&str[i]<='9'){
num=num*10+result*(str[i]-'0');
//判断是否溢出
if((num>0x7FFFFFFF&&!flag)||(num<0x80000000&&flag)){
num=0;
break;
}
}else{
num=0;
break;
}
}
return num;
}
}
10-26
1万+
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
11-17
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交