PHP code example of jdrda / cnb-currency-converter

1. Go to this page and download the library: Download jdrda/cnb-currency-converter library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

jdrda / cnb-currency-converter example snippets




nbCurrencyConverter\CnbCurrencyConverter;

$converter = new CnbCurrencyConverter();

// Official CNB quote: 1 EUR = 24.340 CZK, 100 JPY = 13.249 CZK, etc.
echo $converter->rate('EUR')->formatQuote();

// Normalized CZK value for exactly one unit of a currency.
echo $converter->czkPerUnit('JPY'); // 0.13249 when CNB quotes 100 JPY = 13.249 CZK

// Convert EUR to USD through CZK.
echo $converter->convert(100, 'EUR', 'USD');

// Convert JPY to EUR through CZK. Quoted amounts such as 100 JPY are handled correctly.
echo $converter->convert(10000, 'JPY', 'EUR');



use CnbCurrencyConverter\CnbCurrencyConverter;

$converter = new CnbCurrencyConverter('2026-05-06');

// Uses the CNB URL with ?date=06.05.2026
echo $converter->rate('USD')->formatQuote();



$usd = $converter->convert(100, 'EUR', 'USD');

$result = $converter->convert(100, 'EUR', 'USD');

$result = $converter->convert(100, 'EUR', 'USD', 2);

$eur = $converter->convert(1000, 'CZK', 'EUR');
$czk = $converter->convert(100, 'EUR', 'CZK');

$converter = new CnbCurrencyConverter();



use CnbCurrencyConverter\CnbCurrencyConverter;
use Symfony\Component\Cache\Adapter\FilesystemAdapter;

$cache = new FilesystemAdapter('cnb_currency_converter');
$converter = new CnbCurrencyConverter(null, $cache);

$converter = new CnbCurrencyConverter(null, $cache, 3600); // one hour



use CnbCurrencyConverter\CnbCurrencyConverter;

$converter = new CnbCurrencyConverter();
$amount = $converter->convert(100, 'EUR', 'USD', 2);



use CnbCurrencyConverter\CnbCurrencyConverter;

final class PriceController
{
    private $converter;

    public function __construct(CnbCurrencyConverter $converter)
    {
        $this->converter = $converter;
    }
}

$rate = $converter->rate('EUR');

echo $rate->getCountry();      // EMU
echo $rate->getCurrencyName(); // euro
echo $rate->getAmount();       // 1
echo $rate->getCode();         // EUR
echo $rate->getQuote();        // 24.340
echo $rate->getCzkPerUnit();   // 24.340
echo $rate->formatQuote();     // 1 EUR = 24.34 CZK

$rates = $converter->rates();
echo $rates['USD']->formatQuote();

echo $converter->czkPerUnit('JPY');

echo $converter->convert(100, 'EUR', 'USD');
echo $converter->convert(100, 'EUR', 'USD', 2);

$date = $converter->getPublishedDate();
echo $date->format('Y-m-d');

echo $converter->getSequenceNumber();



use CnbCurrencyConverter\CnbCurrencyConverter;
use CnbCurrencyConverter\Exception\CurrencyConverterException;

try {
    $converter = new CnbCurrencyConverter('2026-05-06');
    echo $converter->convert(100, 'EUR', 'USD', 2);
} catch (CurrencyConverterException $e) {
    // Handle package-level failure.
}
text
PHP >= 7.1.3
symfony/cache ^4.4 || ^5.4 || ^6.4 || ^7.0
psr/cache ^1.0 || ^2.0 || ^3.0
text
https://www.cnb.cz/cs/financni-trhy/devizovy-trh/kurzy-devizoveho-trhu/kurzy-devizoveho-trhu/denni_kurz.txt
text
https://www.cnb.cz/cs/financni-trhy/devizovy-trh/kurzy-devizoveho-trhu/kurzy-devizoveho-trhu/denni_kurz.txt?date=DD.MM.YYYY