if (carmap.get("tprice") != null && !carmap.get("tprice").equals("")) { //总价已经存在 totalprice += Double.valueOf(carmap.get("tprice") .toString()) * Integer.valueOf(carmap.get("sl").toString()); } else { //计算总计 totalprice += Double .valueOf(carmap.get("price").toString()) * Integer.valueOf(carmap.get("sl").toString()); }
时间: 2024-04-27 15:22:37 浏览: 22
这是一个条件语句,用于判断该商品的总价是否已经被设置。如果该商品的总价 tprice 不为 null 且不为空字符串,则说明该商品的总价已经手动设置过,此时直接使用该总价计算该商品的总价并将其加入到 totalprice 中。否则,说明该商品的总价尚未设置,需要根据商品的单价 price 和数量 sl 计算商品的总价,并将其加入到 totalprice 中。在这里,使用了 ! 操作符来判断 tprice 是否为空字符串,这样可以避免出现 NullPointerException 的异常。
相关问题
for (HashMap carmap : carlist) { HashMap goodmap = dao.select( "select * from goods where id=" + carmap.get("gid")) .get(0); if (goodmap.get("tprice") != null && !goodmap.get("tprice").equals("")) { ddprice += Double.valueOf(goodmap.get("tprice").toString()) * Integer.valueOf(carmap.get("sl").toString()); } else { ddprice += Double.valueOf(goodmap.get("price").toString()) * Integer.valueOf(carmap.get("sl").toString()); } dao.commOper("insert into dddetail (ddno,goodid,sl) values ('" + ddno + "','" + carmap.get("gid") + "','" + carmap.get("sl") + "') "); }
这是一个 for 循环,用于遍历购物车中的商品列表 carlist。对于每一个商品,首先通过商品的 ID 从数据库中查询该商品的详细信息,并将其存储到 goodmap 中。然后,根据商品的总价 tprice 是否已经设置,计算该商品的总价并将其加入到订单的总价 ddprice 中。接下来,将该商品的 ID 和数量插入到订单详情表 dddetail 中,以便后续查询或者操作该订单的商品信息。
需要注意的是,在这段代码中,使用了 dao 对象来进行数据库操作。其中,dao.select() 方法用于查询数据库中的数据,该方法返回一个 List 类型的结果集;dao.commOper() 方法用于执行数据库的增删改操作,该方法返回一个 int 类型的受影响的行数。
totalprice += Double.valueOf(carmap.get("tprice") .toString()) * Integer.valueOf(carmap.get("sl").toString());
这一行代码的作用是将购物车中某个商品的总价加入到总价的累加器中。它首先从 carmap 中获取该商品的总价 tprice 和数量 sl,然后将二者相乘得到该商品的总价,并将其加入到 totalprice 中。需要注意的是,这里使用了 Double.valueOf() 和 Integer.valueOf() 方法将字符串类型的数字转换为实际的数值类型,以便进行计算。