2017-10-05 43 views
0

我有固定稅工資由900每增加5000增加薪俸稅每5000

例如:50000至54999

  • 工資,上繳稅金4400個
  • 薪俸55000至59999,稅收將增加900,所以這將是5300
  • 工資從60000到64999,稅收將增加900,所以這將是6200

我有一長串薪水。

我是C#的新手,我設法通過使用if語句來解決這個問題。

if(salaryyy < 50000) 
{ 
    textBox2.Text = Convert.ToString(0); 
} 
else if (salaryyy > 49999 && salaryyy < 55000) 
{ 
    int result; 
    //int rate = 900; 
    int tax = 4400; 

    result = salaryyy - 4400; 

    textBox2.Text = Convert.ToString(tax); 
} 
else if(salaryyy > 54999 && salaryyy < 60000) 
{ 
    int result; 
    //int rate = 900; 
    int tax = 5300; 

    result = salaryyy - 5300; 

    textBox2.Text = Convert.ToString(tax); 
} 

我想TextBox2中顯示稅率。

我不認爲這是一個好方法,因爲我最終可能會寫一個非常長的代碼。

有沒有簡單的方法可以解決這個問題?

+1

這些被稱爲「樂隊」或「括號」。如果你在那搜索,結果會很多。最常用的方法是用伴隨百分比聲明樂隊列表,然後遍歷樂隊並將其應用到前一樂隊的其餘部分。 – CodeCaster

+0

不要對每個支架使用不同的限制。如果它是55000,現在會發生什麼?它也使事情更難以閱讀 –

+0

你爲稅務人員工作,並希望得到幫助? hahahaha:D – Kell

回答

1

可以使用整數除法得到因素使用以下的計算:

decimal salary = 55000; 
decimal startingTax = 4400; 
int taxRelevant = (int) (salary - 50000); 
decimal tax = 0; 
if(taxRelevant >= 0) 
    tax = startingTax + (taxRelevant/5000) * 900; 

這假設下50k的薪水你沒有繳納稅收和其線性增加。

+0

謝謝先生,簡單明瞭。 – Jaz