phplaravele-commercecurrency

PHP - Convert USD to IQD closest price


I have a price number converted from USD to IQD (Iraqi Dinar) according to the exchange rate specified, for example:

// Conversion method
function USD_to_IQD($price){
   $exchangeRate = 1450;
   return round($price * $exchangeRate);
}

$price = 1 // USD
$convertedPrice = USD_to_IQD($price)

// result: 1450 IQD

That's all fine for now, I'm getting the price from USD to IQD (my country currency).

But the problem here is, the converted price is (1450) and the (450) should be close to either (250, 500, 750, 1000) according to the case returned, which is in this case will be closed to (500) then the result will be (1500) as I need.

examples:

$price = 1930 // IQD, should be 2000
$price = 1600 // IQD, should be 1750
$price = 1030 // IQD, should be 1250
...

according to the case (the converted price)!

any help?


Solution

  • You can simply do this with little calculation alongwith ceil function.

    I've kept 250 static as it is the multiple of all your options.

    echo ceil(1930 / 250) * 250; // Output: 2000
    echo ceil(1600 / 250) * 250; // Output: 1750
    echo ceil(1030 / 250) * 250; // Output: 1250