把字符串转换成整数

原创 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;
    }


面试题33:把字符串转换为整数

C语言的库函数atoi()的作用是将一个字符串转换为整数。写一个函数StrToInt,实现这一功能。...
  • htyurencaotang
  • htyurencaotang
  • 2013年09月01日 20:29
  • 5608

如何将字符串转换成整数.

1、如何将字符串String转化为整数int   int i = Integer.parseInt(str);   int i = Integer.valueOf(my_str).intValu...
  • wei323001
  • wei323001
  • 2013年03月31日 20:50
  • 904

【剑指offer-Java版】49把字符串转换为整数

字符串转换为整数 : atoi可能的输入: 1 带符号数 2 无符号数 3 零 4 空指针 5 超出表示范围 – 暂时仅仅是直接退出且设置最小 – 可以考虑此时抛个异常 6 非法输入,比如...
  • Sugar_Z_
  • Sugar_Z_
  • 2016年04月27日 09:48
  • 900

把字符串转换成整数(java版)

【题目描述】将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0【输入说明】输入一个字符串,包括数字字母符号,可以为空【输出说明】如果是合法的...
  • ouyangyanlan
  • ouyangyanlan
  • 2017年06月07日 11:16
  • 1344

《剑指Offer》面试题:将字符串转换为整数

题目 题目:把字符串转化为整数 ,若输入无效,则返回0且将标志位设为true 自己以前在一些书上面看到过关于 字符串转化为整数的例子,心中有点印象,知道要考虑一些特殊情况。今天决定写下这段代码,...
  • u010412719
  • u010412719
  • 2015年08月30日 20:02
  • 1546

c语言,字符串转换成整数

c语言的数字字符串转换为整数,1.可接受“123 2123”处理为1232123;2.空指针、正负号、非纯数字字符串、数据越界溢出的错误处理。...
  • u010127332
  • u010127332
  • 2016年07月08日 21:26
  • 1746

如何将整数int转换成字符串String?

如何将整数int转换成字符串String? 答:有三种方法:   1)String s = String.valueOf(i); 2)String s = Integer.toString(i...
  • csdnguo
  • csdnguo
  • 2014年09月25日 15:41
  • 803

递归将整数转字符串

#includevoid invert(int n) { int i; i=n%10; if(n/10) invert(n/10); printf("%...
  • zxiang248
  • zxiang248
  • 2016年03月12日 19:08
  • 297

c语言实现将一个整数转换为字符串

#include void convert(int n) { int i; if ((i=n/10)!=0) convert(i); putchar(n%10+'0'); } int ...
  • u012965373
  • u012965373
  • 2015年05月14日 09:51
  • 2387

C语言将字符串转为整数

1、C语言有atoi、atol、atof等库函数,可分别把ASCII编码的字符串转化为int、long、float类型的数字。需要注意的是,这个几个函数是C语言提供的扩展功能,并不是标准的函数,必须引...
  • jiede1
  • jiede1
  • 2017年04月26日 17:19
  • 5087
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:把字符串转换成整数
举报原因:
原因补充:

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