字符串转换成整数

原创 2015年07月07日 22:13:48
/*
 * 输入一个表示整数的字符串,把该字符串转换成整数并输出,例如输入字符串"345",则输出整数345。
 * 
 * 需要考虑的问题:1.由于整数可能不仅仅之含有数字,还有可能以'+'或者'-'开头,表示整数的正负。2.处理非法输入。
 * 在使用指针之前判断这个指针是不是为空。3.输入的字符串中可能含有不是数字的字符。4.最后一个需要考虑的问题是溢出问题。
 */
public class atoiTest {
	public static long atoi(String str) throws Exception {
		boolean negative = false;
		long value = 0;
		if (str == null || str.equals("")) 
			throw new Exception("null string or the string has no character!");
		for (int i = 0; i < str.length(); i++) {
			if (i == 0 && (str.charAt(0) == '-' || str.charAt(0) == '+')) {
				if (str.charAt(0) == '-') {
					negative = true;				
				}
			} 
			else {
				if (str.charAt(i) >= '0' && '9' >= str.charAt(i)) {
					value = value * 10 + (str.charAt(i) - '0');
					if (value > Integer.MAX_VALUE) 
						throw new Exception("OUT OF INTEGER  RANGE");
				} 
				else 
					throw new NumberFormatException("not an integer");
			}
		}
		return negative == true ? value * -1 : value; 			
	}
	public static void main(String[] args) throws Exception {
		atoiTest at=new atoiTest();
		String[] str={"0", "-","01", "-1","123","289765","1000000000","-1000000000",
				"-1000000000000","+aa","-abc"};
		for(int i=0;i<str.length;i++){
			System.out.println("字符:"+str[i]);
			System.out.println("整数:"+at.atoi(str[i]));
		}
	}
}

字符串转换成整数

  • 2017年08月09日 21:59
  • 498B
  • 下载

5-1 字符串转换成十进制整数 (15分) (这是补上的7月6号)

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

用递归方法将整数n转换成字符串

/* * Copyright (c) 2012, 烟台大学计算机学院 * All rights reserved. * 作 者: 刘同宾 ...

剑指offer-----将一个字符串转换成对应的整数(模拟atoi)

题目:给定字符串,将其转换成相应的整数。比如“12345”转换后就是12345. 当一看到题目,我就在纸上写了如下代码: int my_atoi(const char *str) { assert(...

java字符串应用之IP地址转换成整数

一、应用范围      一般用在登录限制、查找IP所在城市等需求中,windows的ping命令也支持整数形式的IP。  二、关键技术点      将IP地址转化成整数的方法如下:    ...

剑指offer-49.把字符串转换成整数

题目:将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0  输入描述: 输入一个字符串,包括数字字母符号,可以为空 ...

关于atoi字符串转换成int整数的一些问题

http://blog.csdn.net/silvergingko/article/details/6070138 在编程中,经常需要将一个字符串中包含的数字转换成整数进行处理。标准C函数a...

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

c语言的数字字符串转换为整数,1.可接受“123 2123”处理为1232123;2.空指针、正负号、非纯数字字符串、数据越界溢出的错误处理。...

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

输入一个以#结束的字符串,本题要求滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,然后将其转换为十进制数后输出。如果过滤后字符串的首字符为“-”,代表该数是负数。 输入格...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:字符串转换成整数
举报原因:
原因补充:

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