使用jquery计算上班支付的百分比

时间:2016-05-21 13:24:53

标签: javascript jquery percentage

嗨,我正在创建百分比计算,例如在他自己的网站上使用上班

当我从基本金额计算百分比时,百分比计算工作正常 百分比为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))
});

请帮助我

1 个答案:

答案 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

希望这会有所帮助。