String initial_price = request.getParameter("initial_price");
float initial_price_float = 0;
try {
initial_price_float = Float.parseFloat(initial_price);
} catch (NumberFormatException e) {
session.setAttribute("message", "Wrong input");
}
上面写的这段代码给了我这个错误,但我很确定我写的是正确的数字。我该如何解决?
java.lang.NullPointerException
sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1008)
java.lang.Float.parseFloat(Float.java:452)
servlet.AddProduct.doPost(AddProduct.java:114)
javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
答案 0 :(得分:2)
不要将null
字符串传递给parseFloat
。
每parseFloat
个documentation:
@throws NullPointerException if the string is null
答案 1 :(得分:1)
根据FloatingDecimal.readJavaFormatString(..)代码:
in = in.trim();
//不要愚弄白色空间。
//如果null
抛出NullPointerException
确保输入不是null
。