博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
个人所得税计算器
阅读量:7074 次
发布时间:2019-06-28

本文共 2914 字,大约阅读时间需要 9 分钟。

 今天心血来潮,编写了一个个人所得税计算器,呵呵,虽然功能不是很强,而且也是重复造轮子(网上也有许多的个人所得税计算器),不过“纸上得来总觉浅,绝知此事要躬行”,自己动动手绝对有好处的。
下面是个人所得税计算的类:
1namespace SalaryComputer  2{   public class PersonalIncomeTax   {       字段/属性#region 字段/属性       /**        /// 税率       ///        private double[] taxRate = { 0, 0.05, 0.10, 0.15, 0.20, 0.25, 0.30, 0.35, 0.40, 0.45 }; 11        /**        /// 税率(税率最好保存在数据库表里或xml文件,当国家出台新的个人所得税政策法规时,不需要修改代码部分)       ///        public double[] TaxRate       {           get { return taxRate; }           set { taxRate = value; }       } 20        /**        /// 速算扣除数       ///        private double[] subtractNumber = { 0, 0, 25, 125, 375, 1375, 3375, 6375, 10375, 15375 }; 25        /**        ///  速算扣除数       ///        public double[] SubtractNumber       {           get { return subtractNumber; }           set { subtractNumber = value; }       } 34        /**        /// 超过起征税的数额       ///        private double[] surpassAmount = { 0, 500, 2000, 5000, 20000, 40000, 60000, 80000, 100000 }; 39        /**        /// 超过起征税的数额       ///        public double[] SurpassAmount       {           get { return surpassAmount; }           set { surpassAmount = value; }       } 48        /**        /// 征税起点工资       ///        private double startTaxSalary; 53        /**        ///  征税起点工资       ///        public double StartTaxSalary       {           get { return startTaxSalary; }           set { startTaxSalary = value; }       }       #endregion 63        构造函数#region 构造函数       /**        /// 无参构造函数       ///        public PersonalIncomeTax()       {           StartTaxSalary = 2000;       } 72        /**        /// 征税基本工资有时会随国家政策,法律变更       ///        /// 征税基本工资       public PersonalIncomeTax(double taxSalary)       {           StartTaxSalary = taxSalary;       }       #endregion 82        自定义方法#region 自定义方法       /**        /// 计算个人所得税,返回应缴税收,征税后所得薪水       ///        /// 薪水       /// 五险一金数额       /// 是否是中国国籍       /// 税后所得实际工作       /// 
返回个人所得税
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 }124}125

转载地址:http://zluml.baihongyu.com/

你可能感兴趣的文章
说说网络通信模型
查看>>
SQLite第二课 源码下载编译
查看>>
ibatis动态生成列时的列名无效
查看>>
通用汽车新增130辆测试无人车,配激光雷达
查看>>
python之通过“反射”实现不同的url指向不同函数进行处理(反射应用一)
查看>>
10.6 监控io性能;10.7 free;10.8 ps;10.9 查看网络状态;10.10 抓包
查看>>
delegate的用法
查看>>
Ubuntu <2TB sdb preseed示例
查看>>
Android开发之旅:组件生命周期(二)
查看>>
使用LVS+NAT搭建集群实现负载均衡
查看>>
LVM 磁盘分区扩容
查看>>
mysql5.6之key_buffer_size优化设置
查看>>
查看Linux服务器网卡流量小脚本shell和Python各一例
查看>>
Linux TC的ifb原理以及ingress流控
查看>>
AgileEAS.NET之敏捷并行开发方法
查看>>
Java源码分析系列之ArrayList读后感
查看>>
性能测试之手机号码python生成方式
查看>>
统计数据库大小的方法
查看>>
PHP递归遍历文件夹
查看>>
用户系列之五:用户SID查看之终结版
查看>>