1. Error description
Java.lang.NumberFormatException:empty Stringat sun.misc.FloatingDecimal.readJavaFormatString ( floatingdecimal.java:1020) at java.lang.Double.parseDouble (double.java:540) Service.impl.BillServiceImpl.exportBillExcel (billserviceimpl.java:301) at SUN.REFLECT.NATIVEMETHODACCESSORIMPL.INVOKE0 (Native Method) at Sun.reflect.NativeMethodAccessorImpl.invoke ( nativemethodaccessorimpl.java:57) at Sun.reflect.DelegatingMethodAccessorImpl.invoke ( delegatingmethodaccessorimpl.java:43) at Java.lang.reflect.Method.invoke (method.java:606) at Org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection (aoputils.java:317) at Org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint (Reflectivemethodinvocation.java : At Org.springframework.aop.framework.ReflectiveMethodInvocation.proceed (Reflectivemethodinvocation.java : 157) at Org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor.invoke ( afterreturningadviceinterceptor.java:52) at Org.springframework.aop.framework.RefLectivemethodinvocation.proceed (reflectivemethodinvocation.java:179) at Org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke (exposeinvocationinterceptor.java:92) at Org.springframework.aop.framework.ReflectiveMethodInvocation.proceed (reflectivemethodinvocation.java:179) at Org.springframework.aop.framework.JdkDynamicAopProxy.invoke (jdkdynamicaopproxy.java:207) at com.sun.proxy.$ Proxy46.exportbillexcel (Unknown Source) controller. Billcontroller.exportbillexcel (arrivalbillcontroller.java:159) at Sun.reflect.NativeMethodAccessorImpl.invoke0 ( Native Method) at Sun.reflect.NativeMethodAccessorImpl.invoke (nativemethodaccessorimpl.java:57) at Sun.reflect.DelegatingMethodAccessorImpl.invoke (delegatingmethodaccessorimpl.java:43) at Java.lang.reflect.Method.invoke (method.java:606) at Org.springframework.web.method.support.InvocableHandlerMethod.invoke (invocablehandlermethod.java:215) at Org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest (Invocablehandlermethod.java:132) at Org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle ( SERVLETINVOCABLEHANDLERMETHOD.JAVA:104) at Org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod ( requestmappinghandleradapter.java:749) at Org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal ( requestmappinghandleradapter.java:689) at Org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle ( abstracthandlermethodadapter.java:83) at Org.springframework.web.servlet.DispatcherServlet.doDispatch ( dispatcherservlet.java:938) at Org.springframework.web.servlet.DispatcherServlet.doService ( dispatcherservlet.java:870) at Org.springframework.web.servlet.FrameworkServlet.processRequest ( frameworkservlet.java:961) at Org.springframework.web.servlet.FrameworkServlet.doGet (frameworkservlet.java:852) At Javax.servlet.http.HttpServlet.service (httpservlet.java:620) at Org.springframework.web.serVlet. Frameworkservlet.service (frameworkservlet.java:837) at Javax.servlet.http.HttpServlet.service (Httpservlet.java : 727) at Org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (applicationfilterchain.java:303) at Org.apache.catalina.core.ApplicationFilterChain.doFilter (applicationfilterchain.java:208) at Org.apache.tomcat.websocket.server.WsFilter.doFilter (wsfilter.java:52) at Org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (applicationfilterchain.java:241) at Org.apache.catalina.core.ApplicationFilterChain.doFilter (applicationfilterchain.java:208) at filter. Transcationfilter.dofilter (transcationfilter.java:32) at Org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (applicationfilterchain.java:241) at Org.apache.catalina.core.ApplicationFilterChain.doFilter (applicationfilterchain.java:208) at filter. Contentfilter.dofilter (contentfilter.java:57) at Org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (applicationfilterchain.java:241) at Org.apache.Catalina.core.ApplicationFilterChain.doFilter (applicationfilterchain.java:208) at Org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal (characterencodingfilter.java:88) at Org.springframework.web.filter.OncePerRequestFilter.doFilter (onceperrequestfilter.java:107) at Org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (applicationfilterchain.java:241) at Org.apache.catalina.core.ApplicationFilterChain.doFilter (applicationfilterchain.java:208) at Org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter (proxiedfilterchain.java:61) at Org.apache.shiro.web.servlet.AdviceFilter.executeChain (advicefilter.java:108) at Org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal (advicefilter.java:137) at Org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter (onceperrequestfilter.java:125) at Org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter (proxiedfilterchain.java:66) at Org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain (abstractshirofilter.java:449) at orG.apache.shiro.web.servlet.abstractshirofilter$1.call (abstractshirofilter.java:365) at Org.apache.shiro.subject.support.SubjectCallable.doCall (subjectcallable.java:90) at Org.apache.shiro.subject.support.SubjectCallable.call (subjectcallable.java:83) at Org.apache.shiro.subject.support.DelegatingSubject.execute (delegatingsubject.java:383) at Org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal (abstractshirofilter.java:362) at Org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter (onceperrequestfilter.java:125) at Org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate (delegatingfilterproxy.java:344) at Org.springframework.web.filter.DelegatingFilterProxy.doFilter (delegatingfilterproxy.java:261) at Org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (applicationfilterchain.java:241) at Org.apache.catalina.core.ApplicationFilterChain.doFilter (applicationfilterchain.java:208) at Org.apache.catalina.core.StandardWrapperValve.invoke (standardwrappervalve.java:220) at Org.apache.catalina.core.StandardContextValve.invoke (standardcontextvalve.java:122) at Org.apache.catalina.authenticator.AuthenticatorBase.invoke (authenticatorbase.java:501) at Org.apache.catalina.core.StandardHostValve.invoke (standardhostvalve.java:171) at Org.apache.catalina.valves.ErrorReportValve.invoke (errorreportvalve.java:103) at Org.apache.catalina.valves.AccessLogValve.invoke (accesslogvalve.java:950) at Org.apache.catalina.core.StandardEngineValve.invoke (standardenginevalve.java:116) at Org.apache.catalina.connector.CoyoteAdapter.service (coyoteadapter.java:408) at Org.apache.coyote.http11.AbstractHttp11Processor.process (abstracthttp11processor.java:1070) at Org.apache.coyote.abstractprotocol$abstractconnectionhandler.process (abstractprotocol.java:611) at Org.apache.tomcat.util.net.jioendpoint$socketprocessor.run (jioendpoint.java:316) at Java.util.concurrent.ThreadPoolExecutor.runWorker (threadpoolexecutor.java:1145) at Java.util.concurrent.threadpoolexecutor$worker.run (threadpoolexecutor.java:615) at Org.apache.tomcat.util.threads.taskthread$wrappingrunnable.run (TaskThread.java:61) at Java.lang.Thread.run (thread.java:745)
2. Cause of error
Double result = 0;for (int i=0;i<data.size (); i++) { map<string,object> map= (map<string, object>) Data.get (i); Hssfrow DataRow = Sheet.createrow (i+1); Hssfcell C8 = Datarow.createcell (8); hssfrichtextstring T8 = new Hssfrichtextstring (map.get ("result") + ""); C8.setcellvalue (T8); Result + = Double.parsedouble (t8.tostring ());}
when you cast a string to a double, the result field value of the database query is an empty string, and a value that is cast to a double type cannot be null or "", which results in an error
3. Solutions
Determines whether result is an empty string before casting (Null has been judged in the SQL statement):
Result + = Double.parsedouble ("". Equals (T8.tostring ())? " 0.00 ": T8.tostring ());
Note: here the string is empty, using the Equals method instead of "= ="
Copyright NOTICE: This article for Bo Master original article, without Bo Master permission not reproduced.
Java.lang.NumberFormatException:empty String