问题描述
- 请问各位大侠,java字符串转化成整数为什么会出现如下的错误?谢谢
-
type Exception reportmessage An exception occurred processing JSP page /admin/categoryadd.jsp at line 15
description The server encountered an internal error that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: An exception occurred processing JSP page /admin/categoryadd.jsp at line 15
12: out.println(request.getParameter("pid"));
13: int pid = 0;
14: if(null!=strpid){
15: pid = Integer.parseInt(strpid);
16:17: }
18:Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)root cause
java.lang.NumberFormatException: For input string: "10/"
java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
java.lang.Integer.parseInt(Integer.java:492)
java.lang.Integer.parseInt(Integer.java:527)
org.apache.jsp.admin.categoryadd_jsp._jspService(categoryadd_jsp.java:78)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
解决方案
先看strpid是什么字符串,是不是合法数字字符串
解决方案二:
从你的stracktrace看,你要转换的那个字符串是"10/",多了个"/",所以明显会出错。
解决方案三:
10后面怎么会有一个除号?是解析的问题还是输出错误的问题。
解决方案四:
String strpid=(String)request.getParameter("pid")
你是这么写的么,request.getParameter取得的数据都要强转为String
解决方案五:
java.lang.NumberFormatException: For input string: "10/"
很明显是你传入的String不对,多了一个除号,检查下。
解决方案六:
出现了非数字的字符,你可以写个正则判断下是否是纯数据的字符串
解决方案七:
不是合法的数字呀,后面带了个/
解决方案八:
字符串必须是合法的整数字符串,不能有其他的字符
解决方案九:
10后面多了个 /。你的业务如果有很多都是有这个多个/的话或者个别的有这个/的话。在转换前用strpid = strpid.replaceAll("/",""); 将/替换成空就行了。
解决方案十:
java.lang.NumberFormatException: For input string: "10/"