假设我已将以下内容存储在数据库中
withdraw fee = 2
然后在提款时,我希望用户为他/她收到的任何金额支付 2% 的提款费用。鉴于下面的代码,它只扣除 2 美元,而不是扣除 %2 的余额。
在我的代码中,$postd_cashout
是要支付的费用,余额是用户的余额
我应该对这条线做些什么改变才能让它工作
$postd_cashout = substr(number_format($ir['balance'], 3, '.', ','), 0, -1);
假设我已将以下内容存储在数据库中
withdraw fee = 2
然后在提款时,我希望用户为他/她收到的任何金额支付 2% 的提款费用。鉴于下面的代码,它只扣除 2 美元,而不是扣除 %2 的余额。
在我的代码中,$postd_cashout
是要支付的费用,余额是用户的余额
我应该对这条线做些什么改变才能让它工作
$postd_cashout = substr(number_format($ir['balance'], 3, '.', ','), 0, -1);
只需将余额乘以提款费作为百分比
$fees = ($ir['balance'] * $withdrawal_fee / 100);
然后,您可以在计算中使用 $fees。
不要在计算之前使用 number_format ,因为您想避免逗号 - 将值转换为字符串。
$postd_cashout = ($ir['balance']*(1.02));
这将导致预期金额的总提款加上该金额的 2%。但是,我不清楚这是否正是您想要实现的目标。提款人手头收到的金额将显示在 $ir['balance'] 中,而提款总额则反映在 $postd_cashout 中。
可选:
$withdrawalmultiplier = 1.02;
$postd_cashout = ($ir['balance']*($withdrawalmultiplier));
这允许您在代码中引用的任何位置更改费用金额,而不是硬编码静态数字。恕我直言,最初的例子更清楚。
最后:
$fee = ($postd_cashout - $ir['balance'])
我想跟踪费用金额对于报告已支付的费用总和或逐项列出收据很有用,听起来这最终是您在重新阅读问题几次后想要的。如果费用金额是您所追求的,那么另一个答案更适合。