我试图修改伪购物车(它的基于数组的存储值存储在用户元数据库而非数据库中)错误显示货币的PHP文件> 1000为0.01
这是我要更改的块:
public function get_cart_value()
{
$cart = $this->cart;
$prices = array();
$cart = apply_filters('ss_mod_cart_value', $cart);
foreach ($cart['products'] as $product)
{
array_push( $prices, array('price'=>trim($product['price']), 'discount' => trim($product['discount'] )));
}
$total = 0;
foreach($prices as $price)
{
$price = $this->calc_discount($price['price'], $price['discount']);
$price = str_replace('.', '', $price['final_price']);
$total += $price;
}
$total = number_format($total/100, 2);
return $total;
}
它运行的购物车按钮将正确显示小于4位的项目的总值,例如:
300 + 500 = 800
但
300 + 500 + 1000 = 800.01
代替1,800
我一直在尝试更改number_format()
以使其正常运行但无法找到解决方案。
答案 0 :(得分:0)
我想通过这一行
$price = str_replace('.', '', $price['final_price']);
300 + 500 +" 1000&#34 ;;
您的数字(如1,000)将转换为字符串,然后您的总数将变为801。
你必须按照
中的建议以适当的方式转换为浮动