1

嗨,我试图用 trim() 修复这个小错误。正在显示的错误消息是找不到符号方法 trim(),并且位置是可变价格类型的 double。下面是代码。/* * 要更改此模板,请选择工具 | 模板 * 并在编辑器中打开模板。*/ 包助手;

进口豆.ProductBean; 导入java.sql.ResultSet;导入java.sql.SQLException;导入 java.text.ParseException;导入 java.text.SimpleDateFormat;导入 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"));

} }
4

2 回答 2

1

该方法从字符串trim()中删除前导和尾随空格。的类型是数字 - 空白的概念并不适用于它。您不需要修剪 a - 它总是被隐式修剪。doubledouble

但是,如果您阅读String表示a 的 a double则可能需要对其进行修剪。变量的类型必须是String,而不是Double,才能trim()应用该方法。显然,如果您需要double稍后使用该值,则需要将字符串转换为双精度值,例如通过调用valueOf方法:

String priceStr = request.getParameter("price");
if (priceStr != null && priceStr.trim().length() != 0) {
    addproduct.setPrice(Double.valueOf(priceStr));
}
于 2013-02-24T01:19:55.700 回答
0

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

我认为这里只检查空值就可以了。你真的不需要检查长度。

    if (price != null) 
于 2013-02-24T01:19:29.603 回答