我有一个作为字符串获得的参数
String Dept_ID[] = request.getParameterValues("dept_id"))
在jsp中。我必须在类型为数字的数据库中插入字符串
@DEPT_ID NUMERIC(10,0)).
如何执行转换?
我有一个作为字符串获得的参数
String Dept_ID[] = request.getParameterValues("dept_id"))
在jsp中。我必须在类型为数字的数据库中插入字符串
@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 不同的基数(数字基数),您可以提供基数作为第二个参数(有关详细信息,请参阅链接)。
上面的答案是正确的,但它没有考虑当您将字母作为无法转换的输入时会发生什么。如果你问我,你想对那部分使用 try and catch 方法。
类似的东西(假设您使用上面的代码):
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.");
}
}
}
另请注意,我将 ++index 部分放在 index++ 的另一边,如果您不这样做,您将一直丢失数组中的第一个索引。