zoukankan      html  css  js  c++  java
  • 把字符串转化为整数

    题目描述

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

    输入描述:

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

    输出描述:

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

    例子:

      +2147483647         ->  2147483647    
      1a33             ->   0

    提交链接:点击

    思路:

      依次遍历字符串即可! 字符+ 、-只能出现在首位。

      遍历一位数字进行str[i]-‘0‘+temp*10,累加即得到整数

    代码:

    class Solution {
    public:
        int StrToInt(string str) {
            int size=str.size();
            int result=0;
            if(!size) return 0;   //空串
            for(int i=(str[0]=='-' || str[0]=='+')? 1 : 0;i<size;i++){
                if(str[i]<'0' || str[i]>'9') return 0;  //中间有字母,直接返回0
                result=result*10+str[i]-'0';
            }
            return str[0]=='-'? -result : result;    //为负数的话加入负号
        }
    };
  • 相关阅读:
    C语言第五次作业
    c语言第4次作业
    第12次作业
    C语言第9次作业
    C语言第8次作业2
    C语言第8次作业
    C语言第七次作业---要死了----
    C语言第七次作业
    物联网工程实践第二次作业
    物联网工程实践第一次作业
  • 原文地址:https://www.cnblogs.com/logo-88/p/9954637.html
Copyright © 2011-2022 走看看