精华内容
下载资源
问答
  • 剑指offer(C++)--把字符串转换成整数
    千次阅读
    2019-08-15 08:28:38

    题目

    将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符
    合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是
    一个合法的数值则返回0。
    输入描述:
    输入一个字符串,包括数字字母符号,可以为空
    输出描述:
    如果是合法的数值表达则返回该数字,否则返回0
    
    class Solution {
    public:
        int StrToInt(string str) {
              int len = str.length();
            int s;
            int result;
            if(len<=0) result = 0;
            if(str[0]=='-')
                s = -1;
            else
                s = 1;
            for(int i = (str[i]=='-'||str[i]=='+')?1:0;i<len;++i)
            {
                if(!(str[i]>='0' && str[i]<='9'))
                    return 0;
                result = result*10+str[i]-'0';
            }
            return result*s;
        }
    };
    
    更多相关内容
  • 字符串转换成整数

    2017-08-09 21:59:59
    将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0
  • Python 把字符串转换成整数 绝对通过的方法

    题目描述

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

    输入描述:输入一个字符串,包括数字字母符号,可以为空
    输出描述:如果是合法的数值表达则返回该数字,否则返回0
    示例:
    输入
    +2147483647
    1a33

    输出
    2147483647
    0

    思路及Python实现

    用正则表达式

    import re
    class Solution:
        def StrToInt(self, s):
            if s == "":
                return 0
            ret = re.search(r"^([+-])?\d+$", s)
            if not ret or ret.group() == "-2147483649" or ret.group() == "2147483648":
                return 0
            else:
                return int(ret.group())
    

    利用码值来求解

    class Solution:
        def StrToInt(self, s):
            if s == "" or s == "-2147483649" or s == "2147483648":
                return 0
            flag = 1  # 标明正负的符号
            wei = 0  # 位数指针
            num = 0  # 结果
            if s[0] in "+-":
                if s[0] == "+":
                    flag = flag
                else:
                    flag *= -1  # 如果是-,就将flag变成-1
                s = s[1:]  # 将第一个符号,去除
            for i in range(len(s) - 1, -1, -1):  # 从后往前遍历字符串
                if s[i] not in "0123456789":  # 先检查是否合法
                    return 0
                else:  # 结果加上当前字符*位数
                    # 字符“0”对应的ASCII码为48。对获得的字符串中的每个字符,
                    # 求其ASCII码,减去48即为对应位上的数值。
                    num += (ord(s[i]) - 48) * (10 ** wei)
                    wei += 1  # 位数每遍历一个字符,就要进一位
            return num * flag  # 注意正负号
    
    展开全文
  • 本文实例讲述了JavaScript将字符串转换整数的方法。分享给大家供大家参考。具体如下: var s='1'; var s2='2'; alert(parseInt(s) parseInt(s2)); 希望本文所述对大家的javascript程序设计有所帮助。
  • Java 实现把字符串转换成整数

    万次阅读 2018-05-10 10:07:06
    将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0 。输入一个字符串,包括数字字母符号,可以为空; 如果是合法的数值表达则返回该数字,否则返回0;...
    将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0 。
    输入一个字符串,包括数字字母符号,可以为空; 

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

    代码

        public static int parseString2Int(String str) {
            if (Strings.isNullOrEmpty(str)) {
                return 0;
            }
            // 数字的正负,默认是正数
            int symbol = 1;
            char[] array = str.toCharArray();
            int sum = 0;
            // 如果第一位是'-',说明结果应该是个负数,'+'不需要处理symbol
            // 同时替换该位置上的字符为0,这样在下面的处理中,可以认为是跳过该字符
            // 因为0 * 10还是0
            if (array[0] == '-') {
                symbol = -1;
                array[0] = '0';
            } else if (array[0] == '+') {
                array[0] = '0';
            }
            for (int i = 0; i < array.length; i++) {
                // 如果不是数字,而是其他字母符号一类非数字字符,则直接返回0
                if (array[i] < '0' || array[i] > '9') {
                    return 0;
                }
                // sum * 10是为了将当前已获得数字整体左移一位,让新的数字可以处于个位上,比如"12"
                // 第一次拿出1,在第二次拿出2的时候,1应该在十位上,2在个位上,所以 1 * 10 + 2 = 12
                // array[i] - '0',这里减去字符'0',是因为字符'0'-'9'的ascii码值与其对应的数字相差48,而'0'的ascii码值正好是48
                sum = sum * 10 + array[i] - '0';
            }
            return sum * symbol;
        }
    
        public static void main(String[] args) {
            int result = parseString2Int("123");
            System.out.println(result);
        }

    展开全文
  • 把字符串转换成整数(Java实现)

    千次阅读 2017-05-19 12:26:56
    本题为剑指offer面试题49 ... 时间限制:1秒空间限制:32768K ...将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0 输入描述: 输入一个字符

    本题为剑指offer面试题49

    牛客网测试地址::https://www.nowcoder.com/questionTerminal/1277c681251b4372bdef344468e4f26e

    • 时间限制:1秒空间限制:32768K
    将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0
    输入描述:
    输入一个字符串,包括数字字母符号,可以为空


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

    输入例子:
    +2147483647
        1a33

    输出例子:
    2147483647
        0


    package go.jacob.day519;
    
    /*
     * [编程题]把字符串转换成整数
     * 三个易错点:
     * 1.考虑异常输入;
     * 2.异常输入和'0'的返回值都为0,应该设置一个全局变量来区分;
     * 3.判断字符串输入的第一位是不是正负号;
     * 4.考虑整数的上下溢出。Integer.MAX_VALUE (2^31-1)  Integer.MIN_VALUE(-2^31)
     * 
     * 关于判断是否溢出的问题
     * 本人认为java热门第一判断是否溢出是错误的,举个反例
     * 当输入为value=2147483648时,在计算机内部的表示应该是-2147483648
     * 显然value>Integer.MAX_VALUE是不成立的
     * 
     */
    public class Demo2 {
    	public static void main(String[] args) {
    		String str = "-2147483648";
    		System.out.println(StrToInt(str));
    		System.out.println(flag);
    
    	}
    
    	// 设置一个全局变量,来判断:当输出为0时,是字符串输入异常还是输入字符串为'0'
    	public static boolean flag;
    
    	public static int StrToInt(String str) {
    		flag = false;
    		//判断输入是否合法
    		if (str == null || str.trim().equals("")) {
    			flag = true;
    			return 0;
    		}
    		// symbol=0,说明该数为正数;symbol=1,该数为负数;start用来区分第一位是否为符号位
    		int symbol = 0;
    		int start = 0;
    		char[] chars = str.trim().toCharArray();
    		if (chars[0] == '+') {
    			start = 1;
    		} else if (chars[0] == '-') {
    			start = 1;
    			symbol = 1;
    		}
    		int result = 0;
    		for (int i = start; i < chars.length; i++) {
    			if (chars[i] > '9' || chars[i] < '0') {
    				flag = true;
    				return 0;
    			}
    			result = result * 10 + (int) (chars[i] - '0');
    			System.out.println("1:" + result);
    			/*
    			 * 本人认为java热门第一判断是否溢出是错误的,举个反例
    			 * 当输入为value=2147483648时,在计算机内部的表示应该是-2147483648
    			 * 显然value>Integer.MAX_VALUE是不成立的
    			 */
    
    			if ((symbol == 0 && result < 0) || (symbol == 1 && result < 0 && result > Integer.MIN_VALUE)) {
    				flag = true;
    				return 0;
    			}
    		}
    
    		// 注意:java中-1的n次方不能用:(-1)^n .'^'异或运算
    		// 注意,当value=-2147483648时,value=-value
    		result = (int) Math.pow(-1, symbol) * result;
    
    		return result;
    	}
    }
    





    展开全文
  • 【C++】把字符串转换成整数

    千次阅读 2020-02-25 17:59:29
    将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0 class Solution { public: int StrToInt(string s) { long long a = 0; int f = 0; if (s.empty())...
  • 把字符串转换成整数(用c++实现)

    千次阅读 2020-06-07 16:17:13
    输入一个字符串,包括数字字母符号,可以为空 输出数字,若有字符则输出0 示例: 输入+123456 11sfsf46 输出: 123456 0 #include<iostream> #include<string> using namespace std; int main...
  • 一个一个字符整数的形式来进行输出,需要考虑相互转化的问题 不能使用库函数!!! 首尾会有空格(进行去空格操作,可以减少不必要的判断) 区分正负正数 结果可能会越界,题目给的是Integer类型,当超过...
  • C语言实现把字符串转换成整数

    千次阅读 2017-06-29 10:11:50
    @函数名称: atol  函数原型: long atol(char ... 函数功能: 将字符串转换成一个长整数  函数返回: 转换后的数值  参数说明: str-待转换为长整型的字符串  所属文件:   #include   #include   
  • JAVA把字符串转换成整数

    万次阅读 2019-03-14 18:35:13
    剑指offer: 将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。 public ...
  • 49. 把字符串转换成整数

    千次阅读 2018-08-08 13:22:19
    将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。 输入描述: 输入一个...
  • 把字符串转换成整数

    万次阅读 2018-08-12 12:31:38
    将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。 输入描述: 输入一个...
  • 在C#中,要将一个字符串或浮点数转换整数,基本上有三种方法:(1)使用强制类型转换:(int)浮点数 (2)使用Convert.ToInt32(string)(3)使用int.Parse(string)或int.TryParse(string,out int) 在实际使用时,...
  • c语言,字符串转换成整数

    千次阅读 2021-05-19 10:40:54
    c语言的数字字符串转换整数,1.可接受“123 2123”处理为1232123;2.空指针、正负号、非纯数字字符串、数据越界溢出的错误处理。#include#include#include//子函数的声明int StrToInt(char * string);void main(){/...
  • 字符串转换成整数(3种方法)

    千次阅读 2020-10-23 16:41:16
    请你来实现一个 atoi 函数,使其能将字符串转换成整数。 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下: 如果第一个非空字符为正或者负号时,则将该符号...
  • C++:字符串转换成整数

    千次阅读 2021-03-23 09:51:19
    C 库函数 int atoi(const char *str) 参数 str 所指向的字符串转换为一个整数(类型为 int 型)。 声明 下面是 atoi() 函数的声明。 int atoi(const char *str) 参数 str – 要转换为整数的字符串。 返回值 该...
  • 【牛客网】---把字符串转换成整数

    千次阅读 2019-11-13 20:43:38
    【牛客网】—把字符串转换成整数 题目如下: 解题思路:通过首位判断符号,设置符号标记,若首位是‘+’或‘-’,变成‘0’,在检验每一位的同时,将其变成整数。 代码如下: class Solution { public: int ...
  • 将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。 思路 注意字符串首的...
  • 把字符串转换成整数java实现

    千次阅读 2017-10-07 21:17:30
    将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0 思路:将字符串转换字符数组,然后遍历字符数组,首先判断符号,然后遍历整个字符数组获取字符,...
  • 一个字符串转换成一个整数,要求不能使用库函数,数值是0或不是一个合法的数值返回0 class Solution { public: int StrToInt(string str) { int x=0,k; for(int i=0;i<str.size();i++) { if(str[i]=='...
  • 把字符串转换成整数(字符串)

    千次阅读 2017-11-29 19:42:07
    题目描述:将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。 输入描述:输入一个字符串,包括数字字母符号,可以为空 输出描述:如果是合法的数值...
  • python 把字符串转换成整数

    千次阅读 2019-04-14 20:43:45
    但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。 ''' # -*- coding:utf-8 -*- class Solution: def StrToInt(self, s): # wr...
  • 在 Python 中如何将字符串转换整数

    千次阅读 2021-12-29 22:36:03
    类似于内置的 str() 方法,Python 语言中有一个很好用的 int() 方法,可以将字符串对象作为参数,并返回一个整数。 用法示例: #Hereageisastringobject age="18" print(age) #Convertingastringtoaninteger ...
  • 把字符串转换成整数 java

    千次阅读 2018-11-09 22:30:56
    将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。 输入描述: 输入一个字符...
  • 如何一个字符串转换成整数

    千次阅读 2020-02-26 12:27:36
    请你来实现一个 atoi 函数,使其能将字符串转换成整数。 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。 当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面...
  • 请你写一个函数StrToInt,实现把字符串转换成整数这个功能。 当然,不能使用atoi或者其他类似的库函数。 示例 1: 输入: " -42" 输出: -42 解释: 第一个非空白字符为 '-', 它是一个负号。 示例 2: 输入: "4193 with ...
  • 如何在Python中将字符串转换整数

    千次阅读 2020-11-21 04:15:33
    Python中的所有数据类型...在本教程中,我们将向您展示如何将Python字符串转换整数。Python int()函数内置int()函数从给定的数字或字符串返回一个十进制整数对象。它采用以下形式:int(x, base=10)函数接受两...
  • Python:把字符串转换成整数

    千次阅读 2017-07-20 02:01:26
    将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0 # -*- coding:utf-8 -*- ''' 字符串转换整数 题目描述 将一个字符串转换成一个整数,要求不...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 502,384
精华内容 200,953
关键字:

把字符串转换成整数