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

Posted zzzhouheng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 

以上是关于java.lang.NumberFormatException:For input string:"undefined"的主要内容,如果未能解决你的问题,请参考以下文章