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

Installment分期付款计算函数出错 14.75%佣金交易结果不符如何修正

问题根因
  • 你当前使用的计算公式逻辑与需求不符:fPrice / (1 - 佣金比例/100) 是「已知含佣总金额,倒推不含佣本金」的计算逻辑,代入你给出的参数计算正好得到你遇到的错误结果:100 / (1 - 14.75/100) ≈ 117.30
  • 你的实际需求是「在本金基础上叠加固定比例佣金」,正确的计算逻辑应为 本金 * (1 + 佣金比例/100),代入参数得到的结果正好符合预期:100 * (1 + 14.75/100) = 114.75
修正后的代码
$install = DB::getRow("SELECT installment FROM installments WHERE id='{$k}'");
// 先统一处理佣金比例格式
$commissionRate = (float)str_replace(",", ".", $i) / 100;
$total = round($mInfo->fPrice * (1 + $commissionRate), 2); 
$monthly  = round($total / $install->installment, 2);
额外优化建议
  • 避免精度误差:先计算总金额再除以分期数计算月供,比分开两次计算本金部分更不容易出现精度偏差
  • 注意SQL注入风险:你当前的查询直接拼接变量$k到SQL语句中,建议改为参数绑定的查询方式,避免注入风险

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 19:36:02