个人所得税计算器
计算器
2023-09-14 08:58:19 时间
今天心血来潮,编写了一个个人所得税计算器,呵呵,虽然功能不是很强,而且也是重复造轮子(网上也有许多的个人所得税计算器),不过“纸上得来总觉浅,绝知此事要躬行”,自己动动手绝对有好处的。
下面是个人所得税计算的类:
p /p pre code_snippet_id= 583882 snippet_file_name= blog_20150119_1_5116542 name= code "author-img" src="https://ucc.alicdn.com/avatar/img_4ef14db93886a6ec606ba64fc46212fe.jpg?x-oss-process=image/resize,h_150,m_lfit" />
潇湘隐者 网名潇湘隐者/潇湘剑客、英文名Kerry,兴趣广泛,广泛涉猎,个性随意,不善言辞。执意做一名会写代码的DBA,混迹于IT行业
下面是个人所得税计算的类:
1namespace SalaryComputer public class PersonalIncomeTax 字段/属性#region 字段/属性 /**//// summary /// 税率 /// /summary private double[] taxRate = { 0, 0.05, 0.10, 0.15, 0.20, 0.25, 0.30, 0.35, 0.40, 0.45 }; 11 /**//// summary /// 税率(税率最好保存在数据库表里或xml文件,当国家出台新的个人所得税政策法规时,不需要修改代码部分) /// /summary public double[] TaxRate get { return taxRate; } set { taxRate = value; } 20 /**//// summary /// 速算扣除数 /// /summary private double[] subtractNumber = { 0, 0, 25, 125, 375, 1375, 3375, 6375, 10375, 15375 }; 25 /**//// summary /// 速算扣除数 /// /summary public double[] SubtractNumber get { return subtractNumber; } set { subtractNumber = value; } 34 /**//// summary /// 超过起征税的数额 /// /summary private double[] surpassAmount = { 0, 500, 2000, 5000, 20000, 40000, 60000, 80000, 100000 }; 39 /**//// summary /// 超过起征税的数额 /// /summary public double[] SurpassAmount get { return surpassAmount; } set { surpassAmount = value; } 48 /**//// summary /// 征税起点工资 /// /summary private double startTaxSalary; 53 /**//// summary /// 征税起点工资 /// /summary public double StartTaxSalary get { return startTaxSalary; } set { startTaxSalary = value; } #endregion 63 构造函数#region 构造函数 /**//// summary /// 无参构造函数 /// /summary public PersonalIncomeTax() StartTaxSalary = 2000; 72 /**//// summary /// 征税基本工资有时会随国家政策,法律变更 /// /summary /// param name="baseSalary" 征税基本工资 /param public PersonalIncomeTax(double taxSalary) StartTaxSalary = taxSalary; #endregion 82 自定义方法#region 自定义方法 /**//// summary /// 计算个人所得税,返回应缴税收,征税后所得薪水 /// /summary /// param name="Salary" 薪水 /param /// param name="Welfare" 五险一金数额 /param /// param name="IsChinaNationality" 是否是中国国籍 /param /// param name="taxedSalary" 税后所得实际工作 /param /// returns 返回个人所得税 /returns public double CalculatePersonTax(double Salary, double Welfare, bool IsChinaNationality, out double taxedSalary) double RateSalary = 0; 95 RateSalary = Salary - StartTaxSalary - Welfare; 97 if (!IsChinaNationality) RateSalary = RateSalary - 3000; 102 int rateIndex = 0; 104 if (RateSalary = 0) for (int index = 0; index SurpassAmount.Length; index++) if (RateSalary = SurpassAmount[index] RateSalary = SurpassAmount[index + 1]) rateIndex = index + 1; break; 116 double rate = RateSalary * TaxRate[rateIndex] - SubtractNumber[rateIndex]; taxedSalary = Salary - Welfare - rate; 119 return rate; 122 #endregion 125
p /p pre code_snippet_id= 583882 snippet_file_name= blog_20150119_1_5116542 name= code "author-img" src="https://ucc.alicdn.com/avatar/img_4ef14db93886a6ec606ba64fc46212fe.jpg?x-oss-process=image/resize,h_150,m_lfit" />
潇湘隐者 网名潇湘隐者/潇湘剑客、英文名Kerry,兴趣广泛,广泛涉猎,个性随意,不善言辞。执意做一名会写代码的DBA,混迹于IT行业