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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM