把字符串转化成整数(Java)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013132035/article/details/82115085

题目:

把字符串转化为整数

代码实现:

public static boolean g_status = true; //代表是否非法输入
public static boolean g_overflow = false; //代表是否溢出
public static int strToInt(String str) {
	if (str == "" || str.length() == 0) {
		g_status = false; //输入非法
		return 0;
	}
	char[] c = str.toCharArray();
	boolean flag = true;//表示正负号
	int i= 0;
	if(c[0] == '-'){
		flag = false; //表示负号
		i++;
	}
	int sum = 0;
	for(; i < c.length; i++){
		if(c[i] == '+' && i == 0){
			flag = true; //表示正号
			continue;
		}
		if(c[i] < '0' || c[i] > '9'){
			g_status = false; //表示非法输入
			return 0;
		}
		sum = sum * 10 + c[i] - '0';
		if((flag && sum > Integer.MAX_VALUE) || (flag && sum < Integer.MIN_VALUE)){
			sum = 0;
			g_overflow = true;
			return 0;
		}
	}
	return flag ? sum : sum * -1;
}

猜你喜欢

转载自blog.csdn.net/u013132035/article/details/82115085