Here is how you can convert the price from one currency to another.
First of all, in the Constructor, create an instance of “\Magento\Directory\Model\Currency” as below:
public function __construct( \Magento\Framework\App\Helper\Context $context, \Magento\Directory\Model\Currency $currency ) { parent::__construct($context); $this->_currency = $currency; }
then you can use the following function to get the updated price in the new currency.
public function getNewPrice($price, $currCodeFrom, $currCodeTo) { $rate = $this->_currency->load($currCodeFrom)->getAnyRate($currCodeTo); $newPrice = $price * $rate; return newPrice; }
here, $price is the amount that you want to convert, $currCodeFrom is the currency code from which the price has to be converted, and $currCodeTo is the currency Code in which you want the converted price.
I have used this code in a helper, you can use this in Block or a Controller as per your need.
For any queries, feel free to comment below. 🙂
Moreover, using Magento 2 GeoIP module you can automatically change currency and select the store view based on the customer’s location.
Be the first to comment.