个人所得税计算器

来源:互联网 发布:小说 超级基因优化液 编辑:程序博客网 时间:2024/04/28 22:15

一直以来工资被扣税都不知道怎么算的,查了一下资料发现笔算起来挺麻烦的(每次都要对着表弄),于是做一个小程序代劳。
(使用2008年3月生效的2000起征点)


主代码如下:

//计算个人所得税按钮单击事件
        private void button2_Click(object sender, EventArgs e)
        {
            
if (t_wage.Text.Trim().Length == 0)
                
return;
            
//工资上缴个人所得税表  (工资-2000) 之后的起始、终止、税率、减除额
            ArrayList taxTables = new ArrayList();
            taxTables.Add(
new TaxTable(050050));
            taxTables.Add(
new TaxTable(50020001025));
            taxTables.Add(
new TaxTable(2000500015125));
            taxTables.Add(
new TaxTable(50002000020,375));
            taxTables.Add(
new TaxTable(2000040000251375));
            taxTables.Add(
new TaxTable(40000,60000303375));
            taxTables.Add(
new TaxTable(6000080000356375));
            taxTables.Add(
new TaxTable(800001000004010375));
            taxTables.Add(
new TaxTable(100000double.MaxValue, 4515375));
            msg.ForeColor 
= Color.Tomato;
            
try
            {
                
double wage = double.Parse(t_wage.Text);
                
double wage_Tax=wage-2000;
                
double tax=0;
                
foreach (TaxTable tb in taxTables)
                {
                    
if(wage_Tax>tb.tax_low&&wage_Tax<=tb.tax_up)
                    {
                        tax 
= wage_Tax * tb.taxRate / 100 - tb.deduct;
                        
break;
                    }
                }
                
double remain = wage - tax;
                msg.Text 
= "税前工资:" + t_wage.Text + "元/r/n" +
                 
"税后工资:" + remain.ToString() + "元/r/n" +
                 
"应交个人所得税:" + tax.ToString() + "";
            }
            
catch (Exception ex)
            {
                msg.Text 
= ex.Message;
            }
        }
        
/// <summary>
        
/// 存放个人所得税税率表的类
        
/// </summary>
        class TaxTable
        {
            
public double tax_low; //工资-2000后
            public double tax_up;  //工资-2000后
            public int taxRate;    //取值范围0--100
            public int deduct;     //减除额
            public TaxTable(double Ptax_low, double Ptax_up, int PtaxRate, int Pdeduct)
            {
                tax_low 
= Ptax_low;
                tax_up 
= Ptax_up;
                taxRate 
= PtaxRate;
                deduct 
= Pdeduct;
            }
        }
原创粉丝点击