0
我試圖讓包括使用增值稅項的常規價格:Magento的錯商品價格
$unitPrice = round($item->getPrice(), 2);
它給了我一個.01
差異。
我也試過沒有捨去 - 還是.01
的區別。它將以16.05
的價格返回16.06
或16.04
。
任何想法我做錯了什麼?
我試圖讓包括使用增值稅項的常規價格:Magento的錯商品價格
$unitPrice = round($item->getPrice(), 2);
它給了我一個.01
差異。
我也試過沒有捨去 - 還是.01
的區別。它將以16.05
的價格返回16.06
或16.04
。
任何想法我做錯了什麼?
通常在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開始解決。