显示大于1000的货币值

时间:2014-04-10 05:44:46

标签: php shopping-cart

我试图修改伪购物车(它的基于数组的存储值存储在用户元数据库而非数据库中)错误显示货币的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()以使其正常运行但无法找到解决方案。

1 个答案:

答案 0 :(得分:0)

我想通过这一行

$price = str_replace('.', '',  $price['final_price']);

300 + 500 +" 1000&#34 ;;

您的数字(如1,000)将转换为字符串,然后您的总数将变为801。

你必须按照

中的建议以适当的方式转换为浮动

PHP: unformat money