java.lang.NumberFormatException:For input string:"undefined"

在将字符串转换为数字时导致此错误,解决此问题的思路:

1、添加 try catch语句

2、判断字符串是否为数字,将介绍java中判断字符串是否为数字的方法的几种方法

发生错误的代码:

java.lang.NumberFormatException.forInputString(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at java.lang.Integer.valueOf(Unknown Source)

发生错误的原因:

由于Ajax调用的时候对应的参数未设置,导致后台获取到的字符串是“undefined”,在将它转换成Integer类型的时候出的错。

解决办法:

Ajax调用的时候设置对应的参数。

添加Try  catch语句。

最好的做法还是应该在进行参数类型转换的时候先对待转换的值做一下检测,看是否符合目标类型的格式。

Java中判断字符串是否为数字的方法的几种方法

1、用Java自带的函数。

public static boolean isNumeric(String str) {
     for(int i = 0;i<str.length();i++){
          System.out.println(str.charAt(i));
       if(!Character.isDigit(str.char(i))){
           return false;
        }  
    }  
           return true;
}    

2、用正则表达式

首先要import java.util.regex.Pattern和java.util.regex.Match

public boolean isNumeric(String str) {
     Pattern pattern = Pattern.compile("[0-9]*");
     Matcher isNum = pattern.matcher(str);
     if(!isNum.matchers()) {
           return false;
      }  
      return true;
}

3、使用org.apache.commons.lang

猜你喜欢

转载自www.cnblogs.com/hengzhou/p/9626739.html