zoukankan      html  css  js  c++  java
  • 把字符串转换成整数

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

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


    输出描述:
    如果是合法的数值表达则返回该数字,否则返回0

    输入例子:
    +2147483647
        1a33

    输出例子:
    2147483647
        0
    public class Solution {
        public int StrToInt(String str) {
            int sign = 1;
            int len = str.length();
            int num = 0;
            if(len<1) return 0;
            if(str.charAt(0) == '-')
                sign = -1;
            for(int i = 1;i<len;i++){
                if(str.charAt(i)<'0'||str.charAt(i)>'9')
                    return 0;
            }
            if(str.charAt(0) != '+' && str.charAt(0) != '-'){
                for(int i = 0;i<len;i++){
                    int num1 = Character.getNumericValue(str.charAt(i));
                    int num2 = (int)Math.pow(10,len-i-1);
                    num = num + num1*num2;
                }
                return num;
            }
            else if(str.charAt(0) == '+'){
                for(int i = 1;i<len;i++){
                    int num1 = Character.getNumericValue(str.charAt(i));
                    int num2 = (int)Math.pow(10,len-i-1);
                    num = num + num1*num2;
                }
                return num;
            }
            else if(str.charAt(0) == '-'){
                for(int i = 1;i<len;i++){
                    int num1 = Character.getNumericValue(str.charAt(i));
                    int num2 = (int)Math.pow(10,len-i-1);
                    num = num + num1*num2;
                }
                return num*-1;
            }
            return 0;
            
        }
    }
  • 相关阅读:
    java映射
    java线程的一些方法和特性
    java线程通信
    java多线程同步
    java类对象概述
    JavaScript的对象——灵活与危险
    node.js项目中使用coffeescript的方式汇总
    12.2
    12.1
    11.30
  • 原文地址:https://www.cnblogs.com/LoganChen/p/6491114.html
Copyright © 2011-2022 走看看