嗨,我正在创建百分比计算,例如在他自己的网站上使用上班
当我从基本金额计算百分比时,百分比计算工作正常 百分比为10%
假设基本金额89.00
,我获得的百分比值为8.90
,扣除后的估算金额为80.10
这是
的代码$('txtclientBid').on('input', function() {
var clientRate = parseFloat($(this).val()) || 0;
var num = parseFloat(clientRate) || 0;
// $discount_value = ($total / 100) * $percent;
var val = (num - (num * .1)).toFixed(2);
var fee= (num /100) * 10;
$(settings.txtcarrierRate).val(val);
$('.siteFee').val('-'+fee.toFixed(2))
});
但是当我从估计的数量计算基础金额时,我得到不同的值
例如,如果我在预算金额中输入80.10
,则使用相同的上述方案,那么我获得的百分比值为8.01
,我获得的基本金额为88.11
有人可以告诉我为什么我在这两种情况下得到不同的价值观 案例2不能正常工作 这是我的代码
$('.txtbidderRate').on('input', function() {
var carrierRate = parseFloat($(this).val()) || 0 ;
var num = parseFloat(carrierRate) || 0;
var val = (num + (num * .1)).toFixed(2);
var fee= (num /100) * 10;
$(settings.txtclientRate).val(val);
$('.siteFee').val('-'+fee.toFixed(2))
});
请帮助我
答案 0 :(得分:1)
这是数学。
假设基数为100. 10%的100 = 10.扣除后,100-10 = 90。
即。
Estimated Amount = Base Amount - 0.1*Base Amount = 0.9*Base Amount
现在考虑另一种情况。你想从90回到100,即你想从估计数量中得到基数。
所以,从上面的等式,
Base Amount = Estimated Amount/0.9
即。基本金额= 90 / 0.9 = 100。
你试图对这两种情况应用相同的等式 - 这显然不会起作用。
我希望这是你误解的。
所以我猜你的第二个val
应该这样计算:
val = (num/0.9).toFixed(2);
编辑:
好的,让事情变得简单。假设您有89美元 - 这是您的基本金额。根据你所写的,
Estimated Amount = Base Amount - 10% of Base Amount
基本上意味着
Estimated Amount = 100% of Base Amount - 10% of Base Amount = 90% of Base Amount
所以,
Estimated Amount = 90% of Base Amount = (90/100)*Base Amount = 0.9*Base Amount
现在反思一下,你有Base Amount
而你想要Estimated Amount
。我们怎么得到它?
自Estimated Amount = 0.9*Base Amount
以来,我们可以说Base Amount = Estimated Amount/0.9
(将双方除以0.9)
所以从89美元开始,
估计金额= 0.9 * 89 = $ 80.1
现在假设您获得预计金额,即80.1美元,我们需要找到基本金额
我们知道上面的Base Amount = Estimated Amount/0.9
,所以我们有
Base Amount = 80.1/0.9 = $89
希望这会有所帮助。