2016-09-19 130 views
0

我試圖讓包括使用增值稅項的常規價格:Magento的錯商品價格

$unitPrice = round($item->getPrice(), 2); 

它給了我一個.01差異。

我也試過沒有捨去 - 還是.01的區別。它將以16.05的價格返回16.0616.04

任何想法我做錯了什麼?

回答

0

通常在Magento你使用內置的貨幣格式方法,而不是PHP的round,例如:

$unitPrice = Mage::helper('core')->formatPrice($item->getPrice(), false); // $50.00 

這將返回一個顯示價格像$50.00。如果你只是想原始值,而不是使用:

$unitPrice = Mage::app()->getStore()->roundPrice($item->getPrice()); // 50.0 

注意Mage_Core_Model_Store::roundPrice本質上只是一個包裝爲你在做什麼了,但它的安全使用,因爲它捆綁到Magento的框架。

另外 - 你沒有提到你正在使用哪個Magento版本,但是如果它低於1.8,你可能會看到a delta rounding issue as noted here。它從1.8開始解決。