字符串转数字,不用系统自带函数

这个是昨天别人出的一道题目,我自己想的有点复杂的了,当时不知道字符之间可以相减,不罗嗦了,两个写法对比下吧。

方法一:

1 String s = "12254";
2         int l = s.length();
3         int n = 0;
4         
5         for (int i = 0; i < l; i++) {
6             n += ((int) s.charAt(i) - 48) * Math.pow(10, l - i - 1);
7         }
8 System.out.println(n);

方法二:

 1 String s = "12254";
 2         int l = s.length();
 3         int radix = 1;
 4         int n = 0;
 5 
 6         for (int i = l; i > 0; i--) {
 7             n += (s.charAt(i - 1) - '0') * radix;
 8             radix = radix * 10;
 9         }

10         System.out.println(n); 


posted @ 2012-11-22 10:22  易木  阅读(225)  评论(0编辑  收藏  举报