parseInt中的Numberformatexception

时间:2013-12-26 03:34:23

标签: java

我尝试了这段代码并获得例外,任何人都可以提供帮助。传递给函数的值是“12”,即便如此,我得到例外。我试过/没有装饰等,

公共类TestClass {

public static void main(String[] args) {
    try{
    // TODO Auto-generated method stub
    String line = "12-10-1984";
    String [] temp = line.split("-");
    String t1 = temp[0].trim();
    Integer.parseInt(t1);
    }catch (Exception e){
        //e.printStackTrace();
        System.out.println(e.getMessage());
    }

}

}

2 个答案:

答案 0 :(得分:1)

您可以尝试过滤这样的字符串......

String[] temp = line.split("-");
String t1 = temp[0].trim();
StringBuilder sb = new StringBuilder();
for (char ch : t1.toCharArray()) {
  if (Character.isDigit(ch)) {
    sb.append(ch);
  }
}
if (sb.toString().length() > 0) {
  int v = Integer.valueOf(sb.toString());
}

答案 1 :(得分:0)

这两行中的“ - ”可能不匹配。 您可以打印t1的值并检查它是否返回“12”。

从具有不同字符集的屏幕复制字符串时可能会发生这种情况,例如:Word / Outlook。