我正在尝试使用两个复选框执行以下操作。一个是医疗/牙科扣除,另一个是401k扣除。
如果您愿意,我可以为我的项目的其余部分提供代码。我想获得下面描述的所需输出。我收到此输出而不是所需的输出:
姓名:乔 营业时间:45 费率:10.00 总薪酬:400.00美元 税金:112.50美元 净工资:337.50美元 医疗/牙科扣除:400.00美元 401k扣除:$ 20.00
·如果适用,处理两个可能的税前扣除额(使用两个复选框): ·医疗/牙科扣除 - 如果选择此选项,则从总工资中扣除50美元 ·401k扣除 - 如果选择此选项,则从总工资中扣除5% ·所有扣除后的税金(扣除适用的扣除额后的25%) ·在富文本框中包含扣除金额并正确标记每个金额
我还必须做一个测试用例,看它是否有效:
·输入:小时= 45,速率10.00,检查医疗/牙科和401k复选框 ·产出:毛费= 475.00,医疗/牙科扣除50.00,401k扣除= 23.75,税收= 100.31,净工资= 300.94
我试图让这个开始,但不知道从哪里开始。我试了一下,这就是我所拥有的。它不在复选框方法中,而是在计算按钮方法中,其余的计算是:
//Medical/Dental and 401k deductions...as well as tax collected.
if (MedicalDentalDeductions.Checked)
{
Gross_pay = Convert.ToInt32(HoursTextBox.Text) * decimal.Parse(RateTextBox.Text) - 50.00m;
}
if (FourOneKDeduction.Checked)
{
Gross_pay = Convert.ToInt32(HoursTextBox.Text) * decimal.Parse(RateTextBox.Text) - 0.05m * 100;
}
if ((MedicalDentalDeductions.Checked) && (FourOneKDeduction.Checked))
{ Taxes = TAX * Gross_pay; }
DisplayOutPut.Text= "Medical/Dental deduction:" + Taxes +"401k deduction:"+ Taxes;
}
答案 0 :(得分:1)
我想你想要更像这样的东西:
//Medical/Dental and 401k deductions...as well as tax collected.
decimal Gross_pay= Convert.ToInt32(HoursTextBox.Text) * decimal.Parse(RateTextBox.Text);
decimal deductionMed = 0.00m;
decimal deduction401k = 0.00m
if (MedicalDentalDeductions.Checked)
{
deductionMed = - 50.00m;
}
if (FourOneKDeduction.Checked)
{
deduction401k = Gross_pay * 0.05m;
}
Taxes = TAX * (Gross_pay -(deductionMed + deduction401k));
DisplayOutPut.Text= "Medical/Dental deduction:" + deductionMed +" 401k deduction:"+ deduction401k + "Taxes:"+Taxes ;
}
答案 1 :(得分:1)
尝试将其分解为逐步计算,就像在Excel中或手动执行一样 -
int hours = 45;
double payRate = 10.00;
double taxRate = 0.25;
double gross = hours * payRate;
double medical = (MedicalDentalDeductions.Checked) ? 50 : 0;
double retirement = (ForOneKDeduction.Checked) ? gross * 0.05 : 0;
double pretax = gross - medical - retirement;
double tax = pretax * taxRate;
double net = gross - tax;