我想将单元格值转换为int
值,因此我尝试使用以下代码:
for (int chk1 = 1; chk1 < m; chk1++ ) {
int intCounter = Integer.parseInt( cells.checkCell(chk1,0).getValue().toString() );
}
但它只接受字符串格式,如果有任何数字,那么它给了我
java.lang.NumberFormatException
我该如何避免这种情况?有没有办法将所有数据转换为整数或转换为字符串,反之亦然?
答案 0 :(得分:14)
问题是“.0”位。 Integer.parseInt
只允许数字,因此小数点是非法的,因此NumberFormatException
。
您应确保输入确实是整数(即“16”),或者如果您确实要允许小数,则使用Double.parseDouble
或Float.parseFloat
。
答案 1 :(得分:1)
答案 2 :(得分:0)
尝试查看输入parseInt
System.out.println(cells.checkCell(chk1,0).getValue().toString());
或登录。
根据Cameron的答案,查看您正在解析的值是否有效。
答案 3 :(得分:0)
@Cameron Skinner已经通过double
或float
向您提供了如何摆脱此异常的确切提示。但如果你真的想和Integer
一起玩,你可以做到
for( int chk1 = 1 ; chk1 < m ; chk1++ ) {
int intCounter = (int)cells.checkCell(chk1,0).getValue();
}