一直以来工资被扣税都不知道怎么算的,查了一下资料发现笔算起来挺麻烦的(每次都要对着表弄),于是做一个小程序代劳。 (使用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( 0 , 500 , 5 , 0 )); taxTables.Add( new TaxTable( 500 , 2000 , 10 , 25 )); taxTables.Add( new TaxTable( 2000 , 5000 , 15 , 125 )); taxTables.Add( new TaxTable( 5000 , 20000 , 20 , 375 )); taxTables.Add( new TaxTable( 20000 , 40000 , 25 , 1375 )); taxTables.Add( new TaxTable( 40000 , 60000 , 30 , 3375 )); taxTables.Add( new TaxTable( 60000 , 80000 , 35 , 6375 )); taxTables.Add( new TaxTable( 80000 , 100000 , 40 , 10375 )); taxTables.Add( new TaxTable( 100000 , double .MaxValue, 45 , 15375 )); 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转载于:https://www.cnblogs.com/tuyile006/archive/2007/09/15/894389.html
相关资源:2019版个人所得税计算工具