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.