最新个人所得税计算器C#版 源码2012-2013


由于项目需要计算个税,自己就根据最新税法以及税率表,写了计算个人所得税的C#版代码,贴出来,指高手指正不足之处。

演示地址:http://www.9aicai.com/

代码如下:

1、TaxInfo.cs

 

using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

///   <summary>
/// TaxInfo 个人所得税详细信息
/// 版本:1.0
/// 官网: http://www.9aicai.com
/// 名称:爱财个人所得税计算器(C#版) 2012-2013
///   </summary>
public  class TaxInfo
{
     public TaxInfo()
    {
         //
        
// TODO: 在此处添加构造函数逻辑
        
//
    }
     ///   <summary>
    
///  工资收入
    
///   </summary>
     public  decimal Income
    {
         set;
         get;
    }
     ///   <summary>
    
///  纳税人员类型,是否外籍人士
    
///   </summary>
     public  bool IsForeign
    {
         set;
         get;
    }
     ///   <summary>
    
///  五险一金
    
///   </summary>
     public  decimal Golds
    {
         set;
         get;
    }
     ///   <summary>
    
///  个人所得税起征点
    
///   </summary>
     public  decimal StartPoint
    {
         set;
         get;
    }
     ///   <summary>
    
///  应纳税所得额
    
///   </summary>
     public  decimal TaxableIncome
    {
         set;
         get;
    }
     ///   <summary>
    
///  适用税率
    
///   </summary>
     public  decimal Rate
    {
         set;
         get;
    }
     ///   <summary>
    
///  速算扣除数
    
///   </summary>
     public  decimal Deduct
    {
         set;
         get;
    }
     ///   <summary>
    
///  应纳税额
    
///   </summary>
     public  decimal Tax
    {
         set;
         get;
    }
     ///   <summary>
    
///  税后收入
    
///   </summary>
     public  decimal IncomeAfterTax
    {
         set;
         get;
    }
}
 

 

2、TaxManager.cs

using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

///   <summary>
/// TaxManager 个人所得税的计算处理
/// 版本:1.0
/// 官网: http://www.9aicai.com
/// 名称:爱财个人所得税计算器(C#版) 2012-2013
///   </summary>
public  class TaxManager
{
     public TaxManager()
    {
         //
        
// TODO: 在此处添加构造函数逻辑
        
//
    }
     ///   <summary>
    
///  计算个人所得税
    
///   </summary>
    
///   <param name="income"> 工资收入 </param>
    
///   <param name="golds"> 五险一金 </param>
    
///   <param name="isForeign"> 是否是外籍人员 </param>
    
///   <returns> 个人所得税计算结果 </returns>
     public  static TaxInfo Calc( decimal income,  decimal golds,  bool isForeign)
    {
        TaxInfo taxInfo =  new TaxInfo();
        taxInfo.Income = income;
        taxInfo.Golds = golds;
        taxInfo.IsForeign = isForeign;
         // 国内人员与外籍人员的起征点是不一样的,
        taxInfo.StartPoint = taxInfo.IsForeign ?  4800 :  3500;
        taxInfo.TaxableIncome = taxInfo.Income - taxInfo.Golds - taxInfo.StartPoint;
         decimal rate, deduct;
         // 不需要纳税,应纳税额小于等于0
         if (taxInfo.TaxableIncome <=  0)
        {
            taxInfo.Rate =  0;
            taxInfo.Deduct =  0;
            taxInfo.Tax =  0;
            taxInfo.IncomeAfterTax = taxInfo.Income;
        } // 下面是需要纳税部分
         else
        {
             // 获取对应的税率与速算扣除数
            getRateAndDeduct(taxInfo.TaxableIncome,  out rate,  out deduct);
            taxInfo.Rate = rate;
            taxInfo.Deduct = deduct;
            taxInfo.Tax = taxInfo.TaxableIncome * taxInfo.Rate - taxInfo.Deduct;
            taxInfo.IncomeAfterTax = taxInfo.Income - taxInfo.Golds - taxInfo.Tax;
        }
         return taxInfo;
    }


     ///   <summary>
    
///  获取对应的税率与速算扣除数,采用最新七级超额累进个人所得税税率表
    
///   </summary>
    
///   <param name="taxableIncome"> 应纳税所得额 </param>
    
///   <param name="rate"> 适用税率 </param>
    
///   <param name="deduct"> 速算扣除数 </param>
     private  static  void getRateAndDeduct( decimal taxableIncome,  out  decimal rate,  out  decimal deduct)
    {
         if (taxableIncome <=  1500)
        {
            rate =  3; deduct =  0;
        }
         else  if (taxableIncome >  1500 && taxableIncome <=  4500)
        {
            rate =  10; deduct =  105;
        }
         else  if (taxableIncome >  4500 && taxableIncome <=  9000)
        {
            rate =  20; deduct =  555;
        }
         else  if (taxableIncome >  9000 && taxableIncome <=  35000)
        {
            rate =  25; deduct =  1005;
        }
         else  if (taxableIncome >  35000 && taxableIncome <=  55000)
        {
            rate =  30; deduct =  2755;
        }
         else  if (taxableIncome >  55000 && taxableIncome <=  80000)
        {
            rate =  35; deduct =  5505;
        }
         else
        {
            rate =  45; deduct =  13505;
        }
    }
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM