How to get currency symbol by store Magento 2?

Retrieve Currency symbol for the current store or any specific store currency symbol by store id or name.

Use Interface to fetch symbol Magento\Framework\Pricing\PriceCurrencyInterface with getCurrencySymbol() method. Continue reading “How to get currency symbol by store Magento 2?”

Convert number into currency format using Magento 2.

We can simply convert a plain number into price format with a currency symbol. We can get round price of current given price as well as get current store currency symbol by Magento\Framework\Pricing\PriceCurrencyInterface class interface. We can Get Formatted Price With Currency using below code snippets.

Using Objectmanager,

<?php
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$priceHelper = $objectManager->create('Magento\Framework\Pricing\PriceCurrencyInterface'); // Pricing Interface
$price =  50; //Your Custom Price
echo $formattedPrice = $priceHelper->convertAndFormat($price); // $50.00
echo $formattedPrice = $priceHelper->round($price); //50
echo $formattedPrice = $priceHelper->getCurrencySymbol(); // $
?>

Proper way using Block PHP file and call function in a template file, Create Block file in your module and pass Dependency as Pricecurrencyinterface

<?php
namespace Rbj\Currency\Block;

class Currency extends \Magento\Framework\View\Element\Template
{
    public function __construct(
        \Magento\Framework\View\Element\Template\Context $context,
        \Magento\Framework\Pricing\PriceCurrencyInterface $priceCurrency,
        array $data = []
    ) {
        $this->priceCurrency = $priceCurrency;
        parent::__construct($context, $data);
    }

    /**
     * Get current store currency symbol with price
     * $price price value
     * true includeContainer
     * Precision value 2
     */
    public function getCurrencyFormat($price)
    {
        $price = $this->priceCurrency->format($price,true,2);
        return $price;
    }
    /**
     * Get round price without currency symbol
     */
    public function getRoundPrice($price)
    {
        $price = $this->priceCurrency->round($price);
        return $price;
    }
    /**
     * Get current store CurrencySymbol
     */
    public function getCurrencySymbol()
    {
        $symbol = $this->priceCurrency->getCurrencySymbol();
        return $symbol;
    }

Call function from template file,

<?php
// Get currency symbol with price format
echo $currencyFormat = $this->getCurrencyFormat(50.0000); //output $50.00
// Get round value of number
echo $roundPrice = $this->getRoundPrice(20.0000); //output 20 (without currency symbol)
echo $roundPrice = $this->getRoundPrice(20.5000); //output 20.5
// Get Currency symbol of current store
echo $roundPrice = $this->getCurrencySymbol(); //output $