Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取错误java.lang.NumberFormatException:对于输入字符串:";16.0“;_Java - Fatal编程技术网

获取错误java.lang.NumberFormatException:对于输入字符串:";16.0“;

获取错误java.lang.NumberFormatException:对于输入字符串:";16.0“;,java,Java,我想将单元格值转换为int值,因此我尝试以下代码: for (int chk1 = 1; chk1 < m; chk1++ ) { int intCounter = Integer.parseInt( cells.checkCell(chk1,0).getValue().toString() ); } 我怎样才能避免这种情况?有没有办法将所有数据转换成整数或字符串,反之亦然?问题在于“.0”位Integer.parseInt只允许数字,因此小数点是非法的,因此出现NumberFor

我想将单元格值转换为
int
值,因此我尝试以下代码:

for (int chk1 = 1; chk1 < m; chk1++ ) {
   int intCounter = Integer.parseInt( cells.checkCell(chk1,0).getValue().toString() );
}
我怎样才能避免这种情况?有没有办法将所有数据转换成整数或字符串,反之亦然?

问题在于“.0”位
Integer.parseInt
只允许数字,因此小数点是非法的,因此出现
NumberFormatException


您应该确保您的输入确实是一个整数(即“16”),或者如果您确实想允许使用小数,那么请使用
Double.parseDouble
Float.parseFloat
查看尝试并查看到底是什么输入到
parseInt

System.out.println(cells.checkCell(chk1,0).getValue().toString());
或者记录下来


根据Cameron的回答,查看您正在解析的值是否有效。

@Cameron Skinner已经给了您一个确切的提示,告诉您如何通过使用
double
float
消除此异常。但是如果你真的想玩
Integer
你可以

for( int chk1 = 1 ; chk1 < m ; chk1++ ) {
   int intCounter = (int)cells.checkCell(chk1,0).getValue();
}
for(int-chk1=1;chk1
异常已经准确地告诉了您要输入到
parseInt()
,它是
16.0
!我是新来的。。同意16.0不会被解析。但是我们从哪里可以看到输入是16.0?我只是不知道在哪里。@Schock:异常消息在标题中(不幸的是,只有在那里)。如果可以将其转换为int,则不需要toString和parseInt()
for( int chk1 = 1 ; chk1 < m ; chk1++ ) {
   int intCounter = (int)cells.checkCell(chk1,0).getValue();
}