PHP - 将 USD 转换为 IQD 最接近价格

问题描述 投票:0回答:2

我有一个根据指定汇率从 USD 转换为 IQD(伊拉克第纳尔)的价格数字,例如:

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

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

// result: 1450 IQD

目前一切都很好,我正在获取从美元到 IQD(我的国家货币)的价格。

但这里的问题是,

converted price
是(1450),根据返回的情况,(450)应该接近
(250, 500, 750, 1000)
,在这种情况下将接近(500),那么结果将是是(1500),如我所需要。

示例:

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

根据情况(折算价格)!

有什么帮助吗?

php laravel e-commerce currency
2个回答
1
投票

您只需很少的计算即可轻松完成此操作,并使用

ceil
函数。

我保持 250 不变,因为它是你所有选项的倍数。

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

0
投票

你可以使用这个方法:

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

   $calculatedPrice = $price * $exchangeRate;
   $surplus = ($calculatedPrice % $step);
   return $calculatedPrice + ($surplus ? ($step - $surplus) : 0);
}
© www.soinside.com 2019 - 2024. All rights reserved.