java.lang.NumberFormatException 错误及解决办法
2018-03-09 00:14
666 查看
如题:inputNumber.jsp<%@ page contentType="text/html;charset=UTF-8" language="java" %><%@taglib tagdir="/WEB-INF/tags" prefix="computer"%><html><head><title>运算器</title></head><body><h3>输入运算数,选择运算符号:</h3><form action="" name="form" method="post"><input type="text" name="numberOne" size="6" /><Select name="operator"><option value="+" >+</option><option value="-" >-</option><option value="*" >*</option><option value="/" >/</option></Select><%--Select下拉表单,option表示表中的元素--%><input type="text" name="numberTwo" size="6" /><br><input type="submit" value="Enter" name="submit"></form><%String a = request.getParameter("numberOne");String b = request.getParameter("numberTwo");String operator = request.getParameter("operator");if(a==null||b==null){a="";b="";}if(a.length()>0&&b.length()>0){%><computer:Computer numberOne="<%=a%>" numberTwo="<%=b%>" operator="<%=operator%>"/>计算结果:<%=a%><%=operator%><%=b%>=<%=result%><%}%></body></html>Computer.tag<%@tag pageEncoding="UTF-8" %><%@attribute name="numberOne" required="true" %><%@attribute name="numberTwo" required="true" %><%@attribute name="operator" required="true" %><%@variable name-given="result" scope="AT_END" %><%try {double a = Double.parseDouble(numberOne);double b = Double.parseDouble(numberTwo);double r = 0;if (operator.equals("+")) {r = a + b;} else if (operator.equals("-")){r = a - b;}else if (operator.equals("*")){r=a*b;}else if (operator.equals("/")) {r = a / b;}jspContext.setAttribute("result",String.valueOf(r));}catch(Exception e){jspContext.setAttribute("result","发生异常:"+e);}%>编译运行输入1,1会出现:计算结果:ï¼+ï¼=发生异常:java.lang.NumberFormatException: For input string: "ï¼"如上我们可以知道,这是一个数字格式异常我们尝试使用trim()方法:这个方法的作用是:去掉字符串两端多余的空格double a = Double.parseDouble(numberOne.trim());double b = Double.parseDouble(numberTwo.trim());但是结果并没有解决问题。。。。突然我注意到了一个问题,搜狗的拼音输入法输出的数字与英文输入法的字体并不一致,切换输入法后运行通过,没有出现异常。ps:本人用的是ubuntu16.04 64bit结论:如果出现numberformatexception异常,不妨检查一下自己的输入法是否出错
相关文章推荐
- java.lang.NumberFormatException 错误及解决办法
- java.lang.NumberFormatException 错误及解决办法
- java.lang.NumberFormatException 错误及解决办法
- 执行Hive时出现org.apache.hadoop.util.RunJar.main(RunJar.java:136) Caused by: java.lang.NumberFormatException: For input string: "1s"错误的解决办法(图文详解)
- hibernate 中createSQLQuery 聚合分组 java.lang.NumberFormatException: For input string:错误的一个解决办法
- java.lang.NumberFormatException 错误及解决办法
- java.lang.NumberFormatException 错误及解决办法
- java.lang.NumberFormatException 错误及解决办法
- java.lang.NumberFormatException 错误及解决办法
- ZooKeeper 启动报错 Invalid arguments, exiting abnormally java.lang.NumberFormatException: 的解决办法
- java.lang.ClassFormatError javax/persistence/PersistenceException 错误解决办法
- Android中关于String转int遇到的java.lang.NumberFormatException: Invalid int: "5000.00"错解决办法
- java.lang.NumberFormatException: For input string: "9004@19004" 的解决办法
- struts2,hibernate java.lang.NumberFormatException: For input string 错误
- java.lang.NumberFormatException: multiple points已解决
- 常见错误:java.lang.NumberFormatException: For input string: "6 "
- Eclipse 报 “Exception in thread "main" java.lang.OutOfMemoryError: Java heap space ”错误的解决办法
- Eclipse 报 “Exception in thread "main" java.lang.OutOfMemoryError: Java heap space ”错误的解决办法
- 页面提交错误,页面间参数传递java.lang.NumberFormatException: null
- Eclipse 报 “Exception in thread "main" java.lang.OutOfMemoryError: Java heap space ”错误的解决办法