You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP实现USD转伊拉克第纳尔(IQD)后按指定档位取最近价格方法求教

实现方案

核心逻辑

你需要的舍入规则本质是以250为步长向上取整,计算规则为:

  1. 用原始IQD价格除以250得到商
  2. 对商做向上取整(舍去小数部分后整数加1)
  3. 取整后的商乘以250得到最终档位价格

修改后的完整代码

// 美元转伊拉克第纳尔 自动舍入到指定档位
function USD_to_IQD($price){
    $exchangeRate = 1450;
    // 先计算基础转换价格
    $baseConvertedPrice = round($price * $exchangeRate);
    // 新增250档位向上舍入逻辑
    $step = 250;
    return ceil($baseConvertedPrice / $step) * $step;
}

// 测试用例
// 1美元转换测试
$price = 1; // USD
$convertedPrice = USD_to_IQD($price);
// 输出结果:1500 IQD(基础转换结果1450向上舍入250档位得到1500)

// 题目给出的IQD数值测试
var_dump(ceil(1930 / 250) * 250); // 输出2000,和示例要求一致
var_dump(ceil(1600 / 250) * 250); // 输出1750,和示例要求一致
var_dump(ceil(1030 / 250) * 250); // 输出1250,和示例要求一致

补充说明

如果后续业务调整为就近舍入(小于半档向下舍、大于等于半档向上舍),只需要把代码里的ceil替换为round即可。

内容的提问来源于stack exchange,提问作者Someone001

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 16:06:04