价格按会员等级自动计算之后,价格有小数点,怎么四舍五入?

2016-07-07 15:41 来源:www.chinab4c.com 作者:ecshop专家

会员等级设置OK,
价格在按网店站价格自动生成之后,有小数点,

在店铺设置处已经设置为"商品价格显示规则: 先四舍五入,不保留小数 "

但客户在进入购物车之后,真正付的款项却依旧有有小数点..
导致在客户在商品页看到的价格有所区别,
请问这个该怎么解决?

仔细研究了"商品价格显示规则"这几个字,发现真是是"显示规则",而非"计算规则"...
如果不按"显示价格"收款,那"显示价格"的存在又有何意义呢?
请ECSHOP解决一下...


回答:
在includes/lib_order.php里面查找:
/* 计算商品的促销价格 */
.....
$goods_price= ($promote_price > 0) ? $promote_price : $goods['shop_price'];
.....
'market_price'=> $goods['market_price'],

分别加上"price_format:进行对价格格式化。
原理:当购物车点击产品购物时系统自动把当前的产品信息保存到shop_cart 表中,那么会员价格就会出现小数点,保存数据时就把带有小数点的价格一同保存到里面,那之后的提交订单计算的价格都是读取这个表中的数据,所以在其它地方用price_format是只能对部分有效,所以只能在它保存时先把价格格式化掉。

楼上的大哥能说清楚点吗?在哪个地方加price_format:


学点html css吧

什么破方法,根本就没用的!

其实楼上的说到问题点了
那能告诉我需要在哪里修改"计算函数不计算小数点",怎么修改吗?

在商品自己生成价格的时候把小数点去掉,这个手工改,我觉得个是没办法的办法,而且这样很浪费时间,,

最终的解决办法就是改程序,
烦请楼上的热心超版指点下啊~~~


market_price'=> $goods['market_price'];
改为:
market_price'=> price_format($goods['market_price']);
就可以了呀price_format是ec价格四舍五入的函数

把这个贴顶上去,希望说详细点,二楼说的第一段在代码里找不到,按九楼的方法改了,却不能购物了,显示错误。。