使用 jquery 计算加班费等付款的百分比

Calculate percentage from payments like upwork using jquery

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

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

这是数学。

假设基数是 100。100 的 10% = 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 = 

希望这对您有所帮助。