本文共 1282 字,大约阅读时间需要 4 分钟。
将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0
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)); } } }}
转载地址:http://nxhzi.baihongyu.com/