个人所得税计算器

一直以来工资被扣税都不知道怎么算的,查了一下资料发现笔算起来挺麻烦的(每次都要对着表弄),于是做一个小程序代劳。
(使用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;
            }
        }


要是有需要又懒得自己实现,这里有下载:

源码下载:Code    演示版(可当小工具使用):Demo
posted @ 2007-09-15 23:31  小y  阅读(2803)  评论(1编辑  收藏  举报