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

    题目描述

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

    输入描述:

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

    输出描述:

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

    输入

    +2147483647
        1a33

    输出

    2147483647
        0

    我的代码:

        int Getn(int x,int n)
        {
            int res = 1;
            while(n)
            {
                if(n&1)
                    res*=x;
                n>>=1;
                x*=x;
            }
            return res;
        }
        
        int StrToInt(string str) {
            int len = str.length();
            int res = 0;
            int start = 0;
            int flag = 0;
            if(str[0] == '+')
              start = 1;
            else if(str[0]=='-')
           {
           flag
    = 1;    start = 1; } for(int i = start; i < len;i++) { if(str[i] >= '0' && str[i] <= '9') { res += (str[i]-48)*Getn(10,len-1-i); } else return 0; } if(flag) return -res; else return res; }

    Getn函数是取得x的n次幂的函数,每次判断第一个字符是否为 + 或 - ,剩下的字符判断是否为数字,然后乘以相应的幂数。

    或者计算公式可以用:res=res*10+str[i]-'0';

  • 相关阅读:
    DML
    DDL
    SQL的分类
    SQL语句的规范
    sql的演示
    运算符
    导入导出数据
    mysql的数据类型
    python+selenium2自动化---复用已有的浏览器
    python+selenium2自动化---通过js脚本给时间控件赋值
  • 原文地址:https://www.cnblogs.com/Lune-Qiu/p/9255672.html
Copyright © 2011-2022 走看看