字符串转换数字(不使用任何类库)_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 字符串转换数字(不使用任何类库)

字符串转换数字(不使用任何类库)

 2014/6/20 0:14:00  fly_宇光十色  程序员俱乐部  我要评论(0)
  • 摘要:前两天遇到一个有趣的题,让把字符串转换成数字,前提是不能使用任何封装好的类库。本来以为挺简单,但是当实际做的时候,发现还是有困难的。主要是要解决char和int进行相加的问题!直接上代码吧!(代码里没有进行字母、最大长度等验证!有更好的方法欢迎指出)privatestaticintstringToNumber(Stringss)throwsException{intnum=0;//char与int进行运算,char的数值要减去48//因为ASCII码中0的值是48,1就是49intp=0
  • 标签:使用 字符串

前两天遇到一个有趣的题,让把字符串转换成数字,前提是不能使用任何封装好的类库。本来以为挺简单,但是当实际做的时候,发现还是有困难的。主要是要解决char和int进行相加的问题!

直接上代码吧!(代码里没有进行字母、最大长度等验证!有更好的方法欢迎指出)

class="java">private static int stringToNumber(String ss) throws Exception {
		
		int num = 0;
    	//char与int进行运算,char的数值要减去 48
    	//因为ASCII码中0的值是48,1就是49
    	int p = 0;
    	for (int i = ss.length()-1; i >=0 ; i--) {
			int s = ss.charAt(i)-48;
			
			if(i==ss.length()-1)
				num=s;
			else
				num+=(s*getPower(10,p));
			p++;
		}
		return num;
	}


        //求num的p次方
	private static int getPower(int num,int p) {
		if(p==0)
			return 1;
		int tmp = num;
		for(int i=1;i<=p-1;i++){
			tmp*=num;
		}
		return tmp;
	}

?

?

发表评论
用户名: 匿名