如何在计算中使用复选框?

时间:2013-10-14 19:41:42

标签: c# methods checkbox

我正在尝试使用两个复选框执行以下操作。一个是医疗/牙科扣除,另一个是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;

    }

2 个答案:

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