如何在magento中获得自定义价格格式(3精度)

时间:2014-02-20 00:33:23

标签: php magento number-formatting

希望有人可以提供帮助。

需要number_format在此显示3位小数....(实际2)

<?php echo $this->helper('checkout')->formatPrice($_item->getCalculationPrice()/$_product->getAnzeigeMenge()) ?>

总是使用number_format($ _ value,3,“,”,“。”),但不知道如何让它工作。

3 个答案:

答案 0 :(得分:0)

你可以使用

尝试使用此,

echo number_format($_value, '2', '.', ',')

echo number_format($_value, '3', '.', ',')

另请检查

更多信息:http://php.net/manual/en/function.number-format.php

希望这对您有所帮助。

答案 1 :(得分:0)

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

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

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

         }  
         return $price;
   }

注意: - 更改数组('precision'=&gt; 3)而不是数组()

答案 2 :(得分:-1)

[magento]\app\code\core\Mage\Checkout\Helper\Data.php

添加以下功能

public function customformatPrice($price)
{
        return $this->getQuote()->getStore()->customformatPrice($price);
}

在[magento] \ app \ code \ core \ Mage \ Core \ Model \ Store.php

中添加以下功能
public function customformatPrice($price, $includeContainer = true)
   {
          if ($this->getCurrentCurrency()) {
          //sets the floating point precision to 3 points

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

         }  
         return $price;
   }

你可以使用上面的

//magento default call
echo Mage::helper('checkout')->formatPrice(3000.1231);//Rs3,000.12
echo "<br>";
//customized function call
echo Mage::helper('checkout')->customformatPrice(3000.12313);//Rs3,000.123

实际上你可以直接修改[magento] \ app \ code \ core \ Mage \ Core \ Model \ Store.php中的 formatPrice()但是你想要两种格式我们创建自定义函数< / p>

希望这对你有帮助