2013-02-24 46 views
1

嗨,我试图解决这个小误差与正在显示的是无法找到符号方法修剪() 和位置修剪(),错误 消息是可变价格类型的双。以下是代码。/* *要更改此模板,请选择工具|模板*并在编辑器中打开模板。 * /包助手;无法找到装饰()进行变价双方法

import bean.ProductBean; import java.sql.ResultSet; import java.sql.SQLException; import java.text.ParseException; import java.text.SimpleDateFormat; import javax.servlet.http.HttpServletRequest;

公共类ProductHelper {

static final SimpleDateFormat SDF = new SimpleDateFormat("dd/MM/yyyy"); 

public static void populateaddproduct(ProductBean addproduct, HttpServletRequest request) throws ParseException { 
    String rowid = request.getParameter("rowid"); 
    if (rowid != null && rowid.trim().length() > 0) { 
     addproduct.setRowid(new Integer(rowid)); 
    } 
    addproduct.setEan(request.getParameter("ean")); 
    addproduct.setPip(request.getParameter("pip")); 
    addproduct.setName(request.getParameter("name")); 
    addproduct.setDescription(request.getParameter("description")); 
    addproduct.setSupplier(request.getParameter("supplier")); 
    **Double price = Double.parseDouble(request.getParameter("price")); 
    if (price != null && price.trim().length() > 0) { 
     addproduct.setPrice(new Double(price));** 
    } 
    String expiryDate = request.getParameter("expirydate"); 
    if (expiryDate != null && expiryDate.trim().length() == SDF.toPattern().length()) { 
     addproduct.setExpiryDate(SDF.parse(expiryDate)); 
    } 
    addproduct.setLatest(request.getParameter("latestproduct")); 
    addproduct.setDiscounted(request.getParameter("discount")); 

} 

public static void populateProduct(ProductBean product, ResultSet rs) throws SQLException { 
    product.setRowid(rs.getInt("id")); 
    product.setEan(rs.getString("ean")); 
    product.setPip(rs.getString("pip")); 
    product.setName(rs.getString("name")); 
    product.setDescription(rs.getString("description")); 
    product.setSupplier(rs.getString("supplier")); 
    product.setPrice(rs.getDouble("price")); 
    product.setExpiryDate(rs.getDate("expirydate")); 
    product.setLatest(rs.getString("latestproduct")); 
    product.setDiscounted(rs.getString("discount")); 

} } 
+0

确定,所以我怎样才能解决这个双? – user1948682 2013-02-24 01:19:22

+0

错误是完全正确的。你试图做的事实际上没有任何意义。 – SLaks 2013-02-24 01:20:08

回答

0

价格Double类型。 java.lang.Double没有trim()方法。 trim()是删除前导和尾随空格的方法java.lang.String

我认为在这里的空检查很好,你并不需要检查长度。

if (price != null) 
1

trim()方法删除的前导和结尾的空白。 double的类型是数字 - 空格的概念不适用于它。您不需要修剪double - 它总是隐式修剪。

如果您阅读String代表 a double然而,您可能需要修剪它。变量的类型需要为String,而不是Double,以便应用trim()方法。显然,如果您需要在以后使用的值作为double,则需要通过调用valueOf方法将字符串转换为double,例如:

String priceStr = request.getParameter("price"); 
if (priceStr != null && priceStr.trim().length() != 0) { 
    addproduct.setPrice(Double.valueOf(priceStr)); 
} 
+0

谢谢这么多!你完美地解释了它。 – user1948682 2013-02-24 01:30:26