String line3[1]= "8613719716 ";
int int1=java.lang.Integer.parseInt(line3[1]);
以上是程序中的一小段,但是在运行的过程中总是抛出异常
Exception in thread "main " java.lang.NumberFormatException: For input string: "8613719716 "
在Android中这个序列是否正确,我打算把得到的edittext中的值转换为整数.
startTime_hour_int=Integer.parseInt(startTime_hour_edittext.getEditableText().toString());
logcat 出现了如下错误. 05-12 10:26:35.536: ERROR/AndroidRuntime(293): java.lang.NumberFormatException: unable to parse '' as integer
在使用 startTime_hour_int=Integer.parseInt(startTime_hour_edittext.getEditableText().toString());
之前
判断条件:
if(!startTime_hour_edittext.getText().toString().equalsIgnoreCase("")) {
startTime_hour_int=Integer.parseInt(startTime_hour_edittext.getEditableText().toString());
}
题主要做一个进制转换.并且限定范围为 30位的数 (1073741823) 或者(0111111111111111111111111111111). 问题出现在试图转换 111111111111111111111111111111的时候,出现 NumberFormatException.
此代码是检查输入如果是二进制就转换为int型数值
if (checkNumber(input)) {
try {
number = Integer.parseInt(input);
} catch (NumberFormatException ex) {
log(ex.getMessage());
}
} else {
toDecimal();
}
这是检查 String的布尔返回值方法的代码.
private static boolean checkNumber(String input) {
for (char c : input.toCharArray()) {
if (!Character.isDigit(c)) {
return false;
}
}
return true;
}
出现异常:
java.lang.NumberFormatException: For input string: "111111111111111111111111111111"
因为 Integer.parseInt(String)
默认是十进制.
所以需要使用 Integer.parseInt(String, int)
并且指定要转换的n进制的数字的n。比如二进制是2.
int value = Integer.parseInt(input, 2);