-1

我正在创建一个 HR 里程和费用系统,但我正在努力想出一种正确计算费率的方法。

汽车、摩托车和自行车有 2 种价格。10,000 英里以内的一种费率 10,000 英里以上的一种费率。让我们以汽车价格为例。目前每英里 45 便士到 10,000 英里,之后每英里 25 便士。

所以我有变量来保持业务里程并保持增加,但我如何处理费率的变化?例如:BusinessMiles = 9990,Mileage Claimed = 100。所以我需要检查商务里程是否小于 10,000,然后是商务里程与限制之间的差值。这是 10 英里 @ 0.45 和 90 英里 @ 0.25。

有了克里斯的指示,这是我的输出:

//calculate mileage
var businessMilesClaimed = "100";
var currentMilesClaimed = "12110";

if (currentMilesClaimed < 10000)
    {
        var claimedAmount = +businessMilesClaimed + +currentMilesClaimed;

        if (claimedAmount > 10000)
            {
                var claimCalc1 = (claimedAmount - 10000) * 0.25;
                var claimCalc2 = (10000 - currentMilesClaimed) * 0.45;
                var claimResult = +claimCalc1 + +claimCalc2;
            }
        else
            {
            var claimResult = businessMilesClaimed * 0.45;
            }
    }
else
    {
        var claimResult = businessMilesClaimed * 0.25;
    }
4

1 回答 1

4

这似乎是您绝对可以解决的问题。因此,这里有一些伪代码可以帮助您:

milage := 11,192.
// milage is the amount of miles driven..

if(milage is greater than 10000)
     // If they've driven more than ten thousand miles, calculate the difference.
     milage := 10000.
     changeOverMilage := milage - 10000.
else
      // Otherwise, there is no changeOverMilage so set it to 0.
     changeOverMilage = 0.

// Calculate the cost.
cost := (milage * 0.45) + (changeOverMilage * 0.25) 
于 2013-10-10T14:49:17.640 回答