把字符串转换为整数

题目描述

将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0

输入描述:

输入一个字符串,包括数字字母符号,可以为空

输出描述:

如果是合法的数值表达则返回该数字,否则返回0
示例1

输入

复制
+2147483647
1a33

输出

复制
2147483647
0


  有时忍不住夸自己是个天才。
(也可以通过依次求和方式来得到结果 即: sum=sum*10+ str.charAt(i)-'0' )
public class Solution {
    public int StrToInt(String str) {
        if(str==null||str.length()==0)
            return 0;
        for(int i=1;i<str.length();i++){
            if(!(str.charAt(i)>'0'&&str.charAt(i)<'9')){
                return 0;
            }
        }
        if(str.charAt(0)=='+' && str.length()>1)
            return Integer.parseInt(str.substring(1,str.length()));
        else if(str.charAt(0)=='-' && str.length()>1)
            return -Integer.parseInt(str.substring(1,str.length()));
        else if(str.charAt(0)>'0'&&str.charAt(0)<'9')
            return Integer.parseInt(str.substring(0,str.length()));
        return 0;
    }
}

 

posted @ 2020-07-17 17:10  你眼里的星辰  阅读(114)  评论(0)    收藏  举报