把字符串转换成整数

原创 2016年08月29日 20:30:08

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

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

思路:①判断非法字符串;②把字符转化为数字:sum = sum*10 + ch[i] - '0' + 0

public int StrToInt(String str) {
        boolean g_InvalidValue = false;
    	if(str == "0" || str.isEmpty()){
    		g_InvalidValue = true;
    		return 0;
    	}
    	char[] ch = str.toCharArray();
    	int i = 0;
    	int sum = 0;
    	boolean isPosition = false;
    	if(ch[i] == '-'){
    		isPosition = true;
    		i++;
    	}
    	else if(ch[i] == '+'){
    		i++;
    	}
    	int length = ch.length;
    	for(;i<length;i++){
    		if(ch[i] <= '9' && ch[i] >= '1'){
    			sum = sum*10 + ch[i] - '0' + 0;
    		}
    		else{
    			g_InvalidValue = true;
    			return 0;
    		}
    	}
    	if(isPosition){
    		sum = -sum;
    	}
    	return sum;
    }


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

字符串转换成整数

  • 2017-08-09 21:59
  • 498B
  • 下载

数据结构学习笔记3-字符串转换成整数

本文参考了《字符串转换成整数》。题目描述:输入一个由数字组成的字符串,把它转换成整数并输出。例如:输入字符串”123”,输出整数123。给定函数原型int StrToInt(const char *s...

数组-08. 字符串转换成十进制整数(15)

输入一个以#结束的字符串,本题要求滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,然后将其转换为十进制数后输出。如果过滤后字符串的首字符为“-”,代表该数是负数。 输入格...

剑指offer——把字符串转换成整数

题目描述:将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。边界条件: 数据上下 溢出 空字符串 只有正负号 有无正负号 错误标志输出思路:这里的关键是要对输入的字符串进行全面...

面试题1----把字符串转换成整数

题目要求:写一个函数StrToInt实现将字符串转换为整数的功能。 需要考虑的点 字符串为空串或空指针. 字符串含有非0到9的字符. 特别注意字符串转换到int值,要考虑溢出的问题,正整数的最大值是0...

字符串转换成整数 (bug版)

题目详情(网址http://hero.pongo.cn/home/index) 输入一个表示整数的字符串,把该字符串转换成整数并输出,例如输入字符串"345",则输出整数345。 请完成函数Str...

字符串转换成整数

LeetCode: String to Integer (atoi) Implement atoi to convert a string to an integer 分析 需要考虑...

字符串转换成十进制整数 (15分)

字符串转换成十进制整数 (15分)-输入一个以#结束的字符串,本题要求滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,然后将其转换为十进制数后输出。如果在第一个十六进...

《编程之法》1.4字符串转换成整数

题目描述:输入一个由数字组成的字符串,请把它转换成整数输出 分析:int型整数的范围为:-2147483648~+2147483647,这意味着字符串输入太长会没办法正常显示数字,故当转换后的数大于...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)