我正在尝试使用int number = Integer.parseInt(string)
将包含数字的字符串转换为整数,但它返回#
error: Invalid int: "number"
例如,如果字符串为“10”,则返回:Invalid int: "10"
。有什么问题?
修改
FileInputStream fis;
int number =0;
String line="";
try
{
fis = new FileInputStream(getFilesDir()+pathToFile);
BufferedReader reader = new BufferedReader(new InputStreamReader(fis));
line=reader.readLine();
Log.e("Read Line", "Read line: *" +line+ "*"); //returns *10*
try
{
number = Integer.parseInt(line.trim());
}
catch(NumberFormatException nfe)
{
Log.e("ERROR CONVERTING", nfe.getMessage()); // return above error
}
reader.close();
}
catch(Exception ex)
{
Log.e("ERROR OPENING FILE", "Can't open file: "+ex.getMessage());
}
答案 0 :(得分:4)
答案 1 :(得分:2)
有时候意味着“数字过大”。
我遇到过这种情况,因为我的号码太大了。 例如:
Integer.parseInt("201506121234567");
它导致了我的异常NumberFormat。
要解决,我改为:
Long.parseLong("201506121234567");
希望它有所帮助!
答案 2 :(得分:1)
您是否真的尝试使用"10"
或任何其他号码?错误非常具体。
无效的int:“数字”
这意味着在这一行
Integer.parseInt(string)
string
的值为"number"
。检查您在何处设置此值并验证您实际上是在设置数字字符串。