php - PHP计算建议的价格值
问题描述
我有以下变量
- 数量(美元数量)
- 购买价格 ($pp)
- 售价 ($sp)
- 佣金 12% ($comm)
- 建议售价
佣金是根据销售价格计算的,例如,如果销售价格上涨佣金也会增加。
我想以 10% 的利润率 ($pr) 计算建议售价
这是我的代码
$comm=12; //(commission 12%)
$pr=10; //(10% profit)
$percent = ((float)$sp/100)*(float)$comm;
$fees=round($percent,2);
$total=((float)$pp*(float)$qty)+(float)$fees;
$profit = ((float)$total/100)*(float)$pr;
$suggested = round(((float)$profit)+((float)$total),2);
我在按钮单击时调用此 ajax 函数,这将在按钮单击时给出几次不同的值。我认为这是因为当销售价格增加时,佣金也会根据销售价格增加。
代码中没有错误,唯一的问题是它在第一次调用时没有计算出正确的销售价格值,它需要 2 或 3 次调用才能获得正确的值。我怎样才能在第一次通话中获得正确的价值。
解决方案
首先,免责声明:我是程序员,不是会计师。
所以,大声思考了一会儿:
定义术语
cogs: cost of goods sold (item cost)
sp: sales price
comm: commission
profit: profit
公式
profit = sales price - cogs - comm
profit = sales price * profitPercentage
comm = sales price * commPercentage
代替
sales price * profitPercentage = sales price - cogs - comm
例如,假设利润为 10%,佣金为 15%
sales price * .10 = sales price - cogs - comm
然后我们可以代替佣金
sales price * .10 = sales price - cogs - (sales price * .15)
简化
.1(sales price) = sales price - cogs - .15(sales price)
cogs = sales price - .1(sales price) - .15(sales price)
cogs = (1 - .1 - .15)(sales price)
cogs = (.75)(sales price)
sales price = cogs/.75
测试
齿轮:10 美元 价格:13.33 美元 通讯:2.00 美元 利润:1.33 美元
代码
function calculateSalesPrice(float $cogs, float $commPercent, float $profitPercent) : float
{
$divisor = (1 - $commPercent - $profitPercent);
if($divisor <= 0) {
throw new Exception('Commission and Profit exceed 100%');
}
return round(($cogs/$divisor),2);
}
使用这个公式,利润和佣金都以销售价格为基础。
推荐阅读
- javascript - 我可以将 forEach 方法从 Array 原型添加到 String 原型吗?
- python - 我如何恢复 pip 升级
- postgresql - 使用年龄的postgres中两个时间戳之间的时间差没有四舍五入
- r - 在R中的单列中转换多行
- angular - Chartjs中带有角度的回调问题
- r - RShiny:传入文件路径
- c# - 从外部事件调用 Unity SceneManager.LoadScene() 时不起作用
- amazon-dynamodb - 如何将 dynamoDB 记录的子集传输到二级索引?
- material-ui - API 上列出的道具在 ImageList MUI 组件上不存在
- python - 在 HTML 导出的 DataFrame 上应用了多个格式规则?