我正在创建人力资源里程和费用系统,但我正在努力想出一种正确计算费率的方法。
汽车,摩托车和自行车有2种房价。超过10,000英里,一个速率可达10,000英里。 让我们以汽车价格为例。目前它是每英里45英里到10,000英里,之后每英里25英里。
所以我有变量来保持业务里程并保持增加,但我如何处理费率的变化? 例如:BusinessMiles = 9990,Mileage Claimed = 100。 因此,我需要检查商业里程小于10,000,然后检查商业里程和限制之间的差异。这是10英里@ 0.45英里和90英里@ 0.25。
Chris的指针在这里是我的输出:
//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;
}
答案 0 :(得分: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)