基础编程之字符串转整型

转载请注明作者与出处: franciscolv http://www.cnblogs.com/franciscolv/archive/2011/11/20/2256141.html

package SortSet;

/**
* 把字符串转为整形数值。
*
*
@author franciscolv
*
*/
public class Atoim {
private static int result = Integer.MIN_VALUE;
public static void main(String[] args) {
System.out.println(atoim("-1888888899.5"));
}

/**
* 注意整数越界,小数点,正负号,开始的空格等
*
*
@param s
*
@return
*/

public static int atoim(String s) {
boolean tag = true;
int i = 0;
while (s.charAt(i) == ' ')
i++;
if (s.charAt(i) == '-') {
tag = false;
i++;
}
if (s.charAt(i) == '+')
i++;
long tmp = 0L;//控制int范围用
for (; i < s.length(); i++) {
if (s.charAt(i) >= '0' && s.charAt(i) <= '9') {
tmp = tmp * 10 + s.charAt(i) - '0';
if (tmp > Integer.MAX_VALUE) {
result = 0;
return 0;
}

} else if (s.charAt(i) == '.'){
if(s.charAt(i-1)=='-'||s.charAt(i-1)=='+')
return 0;
else
break;
}
else
return 0;
}
if (tag == false)
result = (int) (0 - tmp);
else
result = (int) tmp;
return result;

}
}



posted @ 2011-11-20 14:46  franciscolv  阅读(328)  评论(0编辑  收藏  举报