Hrvatska uskoro prelazi na euro valutu. Pa će postojati prijelazni period u kojem će na e-trgovinama morati biti navedene obije cijene.

Tečaj (JSON) uzimamo sa besplatnog HNB api-ja na:

https://api.hnb.hr/tecajn/v1?valuta=EUR

Nas zanima “Srednji za devize”:”7,563015″ dio u JSON datoteci. Cijenu u eurima dobivamo sa formulom:

cijenaEuro = cijanaKuna * (1 / srednjiTecaj) 

Cijenu u eurima je lagano kasnije prikazati kao string a za dobivanje stringa kune iz float broja koristimo ove funkcije:

//Javascript
function float2Kuna(x)
{		
	//is number
	if(typeof x != 'number')
	{
		return null;
	}
		
	const currencyString = 'kn'; 	
		
	//is float?
	if (Number(x) === x && x % 1 !== 0)
	{		
		const xStr = x.toFixed(2);//toString
		const returnStringComma = xStr.replace('.',',');
		const explode = returnStringComma.split(",");
		const countDecimal = explode[1].length;
		
		if (countDecimal == 1)
		{
			return returnStringComma +'0 '+ currencyString;
		}
		else
		{
			return returnStringComma +' '+ currencyString;
		}
	}
	else
	{
		return x +',00 '+ currencyString;
	}
	
	return null;
	
}
//PHP
function float2Kuna($x)
{
	$currencyString = 'kn'; 
				
	if (!is_float($x))
	{
		return null;
	}
	
	if (strpos(strval($x), ".") !== false) //number have dot
	{						
		$returnString = round(strval($x), 2);		
		$returnString = str_replace('.',',', $returnString);		
		$countDecimal = strlen(explode(',', $returnString)[1]);
		
		if ($countDecimal == 1)
		{
			return $returnString .'0 '. $currencyString;
		}
		else
		{
			return $returnString .' '. $currencyString;
		}		
	}
	else
	{
		return $x .',00 '. $currencyString;		
	}
	
	return null;	
	
}