Someone001
Someone001

Reputation: 21

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?

Upvotes: 0

Views: 87

Answers (2)

Abilogos
Abilogos

Reputation: 5055

you can use this method:

// Conversion method
function USD_to_IQD($price){
   $exchangeRate = 1450;
   $step = 250;

   $calculatedPrice = $price * $exchangeRate;
   $surplus = ($calculatedPrice % $step);
   return $calculatedPrice + ($surplus ? ($step - $surplus) : 0);
}

Upvotes: 0

Yash Parekh
Yash Parekh

Reputation: 1529

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

Upvotes: 1

Related Questions