个人所得税 java_个人所得税计算java版

这是一个Java编写的个人所得税计算程序,根据输入的工资、扣除额和收入类型,计算应缴纳税款并返回最终应得金额。支持不同类型的收入计算,包括工资、薪金、个体工商户、年终奖、劳务报酬、稿酬、特许权使用费、财产租赁、财产转让、利息、股息、红利和偶然所得等。
摘要由CSDN通过智能技术生成

1 /**

2 * 计算个人所得税3 * www.xcc.cn 版权所有4 *@paramminusAmount 扣除社保的金额5 *@paramminusAmount2 当月工资(扣除社保后)(算年终奖)6 *@paramsalaryType 收入类型7 *@paramminimumAmount 个税基数,50008 **/

9 public GeshuiDto calc(double originAmount, double minusAmount, double minusAmount2, String salaryType, intminimumAmount) {10 GeshuiDto dto = newGeshuiDto();11 dto.originAmount =originAmount;12 dto.minusAmount =minusAmount;13 dto.taxAmount = 0;14 dto.finalAmount = 0;15

16 if(originAmount == 0){17 returndto;18 }19

20 //工资、薪金所得

21 if(Objects.equal("1", salaryType)){22 double balanceAmount =BigDecimal.valueOf(originAmount)23 .subtract(BigDecimal.valueOf(minusAmount))24 .subtract(BigDecimal.valueOf(minimumAmount)).doubleValue();25 dto.balanceAmount =balanceAmount;26 if(minimumAmount == 5000) {27 if(balanceAmount >0 && balanceAmount <=3000){28 dto.taxAmount = BigDecimal.valueOf(balanceAmount).multiply(BigDecimal.valueOf(0.03)).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();29 }30 if(balanceAmount >3000 && balanceAmount <=12000){31 dto.taxAmount = BigDecimal.valueOf(balanceAmount).multiply(BigDecimal.valueOf(0.1)).setScale(2, BigDecimal.ROUND_HALF_UP).subtract(BigDecimal.valueOf(210)).doubleValue();32 }33 if(balanceAmount >12000 && balanceAmount <=25000){34 dto.taxAmount = BigDecimal.valueOf(balanceAmount).multiply(BigDecimal.valueOf(0.2)).setScale(2, BigDecimal.ROUND_HALF_UP).subtract(BigDecimal.valueOf(1410)).doubleValue();35 }36 if(balanceAmount >25000 && balanceAmount <=35000){37 dto.taxAmount = BigDecimal.valueOf(balanceAmount).multiply(BigDecimal.valueOf(0.25)).setScale(2, BigDecimal.ROUND_HALF_UP).subtract(BigDecimal.valueOf(2660)).doubleValue();38 }39 if(balanceAmount >35000 && balanceAmount <=55000){40 dto.taxAmount = BigDecimal.valueOf(balanceAmount).multiply(BigDecimal.valueOf(0.3)).setScale(2, BigDecimal.ROUND_HALF_UP).subtract(BigDecimal.valueOf(4410)).doubleValue();41 }42 if(balanceAmount >55000 && balanceAmount <=80000){43 dto.taxAmount = BigDecimal.valueOf(balanceAmount).multiply(BigDecimal.valueOf(0.35)).setScale(2, BigDecimal.ROUND_HALF_UP).subtract(BigDecimal.valueOf(7160)).doubleValue();44 }45 if(balanceAmount >80000){46 dto.taxAmount = BigDecimal.valueOf(balanceAmount).multiply(BigDecimal.valueOf(0.45)).setScale(2, BigDecimal.ROUND_HALF_UP).subtract(BigDecimal.valueOf(15160)).doubleValue();47 }48 }else{49 if(balanceAmount >0 && balanceAmount <=1500){50 dto.taxAmount &#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值