我有作爲字符串如何將字符串轉換爲Java中的數字?
String Dept_ID[] = request.getParameterValues("dept_id"))
在JSP
獲得的參數。我必須在字符串中插入類型爲數字的db
@DEPT_ID NUMERIC(10,0)).
如何執行轉換?
我有作爲字符串如何將字符串轉換爲Java中的數字?
String Dept_ID[] = request.getParameterValues("dept_id"))
在JSP
獲得的參數。我必須在字符串中插入類型爲數字的db
@DEPT_ID NUMERIC(10,0)).
如何執行轉換?
您的代碼正在接收字符串的數組。您可以根據需要使用Integer.parseInt
或Long.parseLong
將數組中的條目轉換爲數字。
例如:
String Dept_ID[] = request.getParameterValues("dept_id"));
int[] ids = null;
if (Dept_ID != null) {
ids = new int[Dept_ID.length];
for (int index = 0; index < Dept_ID.length; ++index) {
ids[index] = Integer.parseInt(Dept_ID[index]);
}
}
如果數使用不同的基數(基數)超過10,則可以提供的基數作爲第二ARG(詳見鏈接)。
上面的回答是正確的,但它沒有考慮到當您將字母作爲輸入無法轉換時發生的情況。如果你問我,你想使用一個嘗試和捕捉方法。
喜歡的東西(假設你使用上面的代碼):
String Dept_ID[] = request.getParameterValues("dept_id"));
int[] ids = null;
if (Dept_ID != null) {
ids = new int[Dept_ID.length];
for (int index = 0; index < Dept_ID.length; index++) {
try {
ids[index] = Integer.parseInt(Dept_ID[index]);
}
catch (NumberFormatException e) {
System.out.println("Invalid crap.");
}
}
}
還要注意,我把++索引部分周圍的其他方法,以指數++,如果你不這樣做,你將繼續失蹤數組中的第一個索引。
我做了完全一樣的事情,你在代碼中鍵入,但它拋出一個異常: - 錯誤將數據類型nvarchar轉換爲數字。 – rams 2013-03-16 10:34:55
@rams:你展示的代碼不應該做那樣的事情。 ['ServletRequest#getParameterValues'](http://docs.oracle.com/javaee/5/api/javax/servlet/ServletRequest.html#getParameterValues(java.lang.String))與數據庫沒有任何關係。 (如果'request'不是'ServletRequest'或它的一個子類,你真的**需要說,因爲這是我們可以做的唯一合理的假設。) – 2013-03-16 10:39:16