把字符串转化成整数

题目描述
将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。


public class Solution {
    public int StrToInt(String str) {
    //如果是空,返回0
    if (null == str || str.length() == 0) {
      return 0;
    }
    int num =0;
    int flag = 1;
    //遍历每个字符,如果是非法字符,直接返回0,否则作为整数计算
    for (int i = 0; i < str.length(); i++) {
      char vi = str.charAt(i);
      if (i == 0 && (vi == '+' || vi == '-')) {
        flag = (vi == '+') ? 1 : -1;
      } else if (vi <'0' || vi>'9') {
        return 0;
      } else {
        num = 10 * num + (vi - '0');
      }
    }
    return flag*num;
    }
}

你可能感兴趣的:(把字符串转化成整数)