将String转换为float java时出错

时间:2013-01-17 22:54:52

标签: java servlets floating-point

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)

2 个答案:

答案 0 :(得分:2)

不要将null字符串传递给parseFloat

parseFloatdocumentation

@throws NullPointerException  if the string is null

答案 1 :(得分:1)

根据FloatingDecimal.readJavaFormatString(..)代码:

in = in.trim(); //不要愚弄白色空间。                        //如果null抛出NullPointerException 确保输入不是null