Magento中定制价格显示精度无圆整

时间:2014-03-10 01:00:42

标签: php magento

关于这个问题,成员shivam帮助我找出自定义价格格式的问题......

How to get custom price format (with 3 Precision) in magento

这里我现在使用3的精确度

public function customformatPrice($price, $includeContainer = true)
   {
          if ($this->getCurrentCurrency()) {
          //sets the floating point precision to 4 points

          return $this->getCurrentCurrency()->format($price, array('precision'=>3),     $includeContainer);

         }  
         return $price;
   }

但是我使用了Round Precision of 4

public function roundPrice($price,$roundTo=4)
 {
 return round($price, $roundTo);
 }

当我使用后端输入价格时,所有工作正常如9.2400€前端的输出就好了。但是当我在后端输入类似9.2450€的东西时,fronend的输出就是roundet。它接缝我错过了某个地方以正确的方式来定价。

此代码我用于列表视图...(舍入中显示错误):

<?php echo  ''.Mage::helper('checkout')->customformatPrice($_minimalPriceDisplayValue /1.19 /$_bbase_qty, false) ?>

此代码我用于产品视图。 (Perfekt Roundings)但我不能在List或Price phtml中使用此代码。

<span class="price"><?php echo ''.Mage::helper('checkout')->customformatPrice(min($product_price)*1.19/($_bbase_qty),true,false); ?></span>``

希望有人能帮助我找出舍入中的问题在哪里或者可以帮助我如何直接在list.phtml中使用最后一个代码。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

打开文件[magento]\app\code\core\Mage\Core\Model\Store.php

    public function roundPrice($price)
    {
        return round($price, 4);//change 2 to 4
    }

    public function customformatPrice($price, $includeContainer = true, $options=array())
    {
        if ($this->getCurrentCurrency()) {
            return $this->getCurrentCurrency()->format($price,$options, $includeContainer);
        }
        return $price;
    }


echo Mage::helper('checkout')->customformatPrice(3000.12313,true,array('precision'=>4));

希望这能帮到你

注意:请勿直接更改核心文件而是覆盖它