![](/img/trans.png)
[英]String to long: error : number format Exception:for Input String “3.1”?
[英]How to handle error number format exception :For input string: “”
我正在以一種形式進行簡單插入。
dbname_m_db
並想回頭看看。 所以我正在做4測試
test1:插入no_text
test2:插入no_text_external
test3:插入no_text和no_text_external
test4:不要同時插入
因此結果是,只有test3成功才能將其查看回來。 而其他3個返回錯誤編號格式異常:對於輸入字符串:“” 。 我不知道過濾它的最佳方法。 這是我正在工作的代碼。 任何想法?
public void getDataById(Connection con){
try{
ps = con.createStatement();
rs = ps.executeQuery("SELECT * FROM "+ dbname_m_db +" WHERE id_m_db ='"+ this.getId_m_db() +"' AND status_data ='1'");
while (rs.next()) {
this.setNo_text(rs.getString("no_text"));
this.setNo_text_external(rs.getString("no_text_external"));
}
int int_no_text = Integer.valueOf(this.getNo_text());
int int_no_text_external = Integer.valueOf(this.getNo_text_external());
this.setNo_text_value(au.getTextById(con, int_no_text));
this.setNo_text_external_value(au.getTextExternalById(con, int_no_text_external));
} catch (Exception e) {
throw new RuntimeException(e);
}
}
為了處理NumberFormatException
錯誤,您應該在執行Integer.valueOf()
之前驗證String
。
您可以驗證您的字符串是否為空:
int int_no_text;
if (!this.getNo_text().isEmpty) {
int_no_text = Integer.valueOf(this.getNo_text());
}
老實說,我並不是很喜歡這種方法,因為既不能驗證字符串是否為null或實際上是否包含整數。
因此,可以利用一個非常好的實用程序類NumberUtils
,並驗證我們是否存在數字:
int int_no_text;
if (NumberUtils.isNumber(this.getNo_text())) {
int_no_text = Integer.valueOf(this.getNo_text());
}
基本上,這種方式檢查字符串是否為有效的Java數字,因此null
和空/空白字符串將返回false。
從表中獲取整數值時,似乎正在傳遞空字符串。 在將其轉換為int之前,我將進行檢查以確保您能從表中獲得他的期望收益
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.