1. 程式人生 > >java.lang.NumberFormatException:For input string:"undefined"

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

catch bsp 解決 導致 是否 static 參數類型轉換 pub 則表達式

在將字符串轉換為數字時導致此錯誤,解決此問題的思路:

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"