嗨,我试图用 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")); } }
问问题
1735 次
2 回答
1
该方法从字符串trim()
中删除前导和尾随空格。的类型是数字 - 空白的概念并不适用于它。您不需要修剪 a - 它总是被隐式修剪。double
double
但是,如果您阅读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
价格是类型Double
。java.lang.Double
没有trim()
方法。trim()
是一种删除前导和尾随空格的方法java.lang.String
我认为这里只检查空值就可以了。你真的不需要检查长度。
if (price != null)
于 2013-02-24T01:19:29.603 回答