Magento错误的商品价格

时间:2016-09-19 13:03:42

标签: php magento

我试图通过以下方式获得包含增值税的商品的正常价格:

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

它给了我.01的差异。

我也试过没有四舍五入 - 仍然.01差异。它会以16.06的价格返回16.0416.05

知道我做错了吗?

1 个答案:

答案 0 :(得分: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开始解决。