怎样验证传过来的参数为float型(五分钟内解决问题给您满分)

fchong 2004-12-29 01:35:25
我的代码是:
try{
float f=new Float(request.getParameter("fz"+p)).floatValue();
}
catch(NumberFormatException e)
{
response.sendRedirect("Error");
}

错误提示为:
java.lang.NumberFormatException: For input string: "30."
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:435)
at java.lang.Integer.valueOf(Integer.java:532)
at CenterKhsave.doPost(CenterKhsave.java:152)
...全文
169 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
kingfish 2004-12-29
  • 打赏
  • 举报
回复
//jsp不能处理异常啊
没明白楼上意思

另外,请问你给出的那段和数据库相关代码和问题有什么联系?
huangdeji 2004-12-29
  • 打赏
  • 举报
回复
jsp不能处理异常啊,知道了怎么补救呢?
kingfish 2004-12-29
  • 打赏
  • 举报
回复
觉得还是try/catch方便些

try{
float f = Float.parseFloat(s);
}
catch(NumberFormatException e){
System.out.println("not a float");
}
huangdeji 2004-12-29
  • 打赏
  • 举报
回复
因为在网吧,不能调试,你自己试一下吧,分不重要,解决你的问题就好了:)
huangdeji 2004-12-29
  • 打赏
  • 举报
回复
ResultSetMetaData rsmd = rs.getMetaData();//元数据
int colCount = rsmd.getColumnCount();//去列数
int[] types = new int[colCount]//保存类型
for(int i = 0 ;i<colcount;i++){//给类型数组赋值
types[i]=rsmd.getType(i+1);
}
for(int i = 0 ;i<colcount;i++){
if(types[i]==Types.FLOAT){//比较是不是float类型
.....
}
}
fchong 2004-12-29
  • 打赏
  • 举报
回复
能说的详细点吗,马上把分送上
huangdeji 2004-12-29
  • 打赏
  • 举报
回复
先创建一个结果集的元数据对象
ResultSetMetaData rsmd = rs.getMetaData();
if(rsmd.getTypes()==Types.FLOAT){
.........
}

81,114

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧