我有一个根据指定汇率从 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
...
根据情况(折算价格)!
有什么帮助吗?
您只需很少的计算即可轻松完成此操作,并使用
ceil
函数。
我保持 250 不变,因为它是你所有选项的倍数。
echo ceil(1930 / 250) * 250; // Output: 2000
echo ceil(1600 / 250) * 250; // Output: 1750
echo ceil(1030 / 250) * 250; // Output: 1250
你可以使用这个方法:
// Conversion method
function USD_to_IQD($price){
$exchangeRate = 1450;
$step = 250;
$calculatedPrice = $price * $exchangeRate;
$surplus = ($calculatedPrice % $step);
return $calculatedPrice + ($surplus ? ($step - $surplus) : 0);
}