基础编程之字符串转整型
转载请注明作者与出处: 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;
}
}