C#计算问题计算所得税(PAYE)

时间:2020-10-23 13:00:12

标签: c# .net .net-framework-4.8

我在计算PAYE时遇到问题。有人可以协助我该如何批准它。

以下是PAYE的百分比和方括号。

Upto 24000, 10%  
Between 24001-40667, 15% 
Between 40668-57334, 20%
Above 57334, 25%
There's a relief of 2400.

这是我的代码:

double grossIncome=Convert.ToDouble(txtgross.Text):

private double getTax(double gross)
{
if(gross <=24000) return(gross*0.1);
if(gross >=24001 | gross <=40667) return(gross*0.15);
if(gross >=40668 | gross <=57334) return(gross*0.2);
return (57335+(gross*0.25);
}

要计算PAYE:。

private void btnCalculate_Click(object sender,EventArgs e)
{
PAYE=getTax(grossIncome)-2400;
txtPaye.Text=PAYE.ToString();
}

我的PAYE值降低了。

1 个答案:

答案 0 :(得分:0)

尝试一下:


double grossIncome=Convert.ToDouble(txtgross.Text):

private double getTax(double gross)
{
    double result = 0;

    if (gross <=24000) {
      return gross*0.1;
    } else {
      result += 2400;
    }

    if (gross >=24001) {
       var firstBase = gross - 24000;
       result += firstBase * 0.15;

       if (gross <= 40667) {
        return result;
       }
    }

    var third = gross - 40667;

    result += third * 0.2;

    if (gross <= 57334) {
       return result;
    }

    var lastbase = gross - 57334;

    result += lastbase * 0.25;

    return result;
}