个人所得税算法

    近来发现个人所得税还蛮多,特别是对于工资上万的人来说,网上的个税计算器功能的太单一,不够详细,于是自己写了一个,以下的金额仅做参考用,非本人真实信息,欢迎使用:(起征点为3500,如果政策有变,会再添加)

public class IndividualIncomeTax {

    public static void main(String[] args) {

        double[] incomes = new double[]{10000, 0, 2000, 207, 38.53, 0};

        // 以下是算在个人所得税里面的
        double income = incomes[0];    //工资总额
        double deduct = incomes[1];      //扣除的工资
        double welfare = incomes[2];   //五险一金
        double reward = incomes[3];     //额外所得资金
        // 以下是扣完个人所得税之后的得失
        double extraPay = incomes[4];        //额外支出(如工会费)
        double extraIncome = incomes[5];     //额外所得(有的有)

        System.out.println("您本月的工资总额为:¥" + income);
        System.out.println("您本月的扣除的工资:¥" + deduct);
        System.out.println("您本月的五险一金为:¥" + welfare);
        System.out.println("您本月额外所得资金:¥" + reward);
        System.out.println("您本月额外要扣的资金(不参与扣税):¥" + extraPay);
        System.out.println("您本月额外获得的资金(不参与扣税):¥" + extraIncome);

        double money = income - deduct - welfare + reward - 3500;     //应纳税所得额
        System.out.println("您本月的应纳税所得额为:¥" + money);
        double tax = 0;
        if (money <= 1500) {
            tax = money * 0.03;
        } else if (money <= 4500) {
            tax = money * 0.1 - 105;
        } else if (money <= 9000) {
            tax = money * 0.2 - 555;
        } else if (money <= 35000) {
            tax = money * 0.25 - 1005;
        } else if (money <= 55000) {
            tax = money * 0.3 - 2755;
        } else if (money <= 80000) {
            tax = money * 0.35 - 5505;
        } else {
            tax = money * 0.45 - 13505;
        }
        System.out.println("您本月的应缴纳个人所得税:¥" + tax);
        double salary1 = money + 3500 - tax;
        System.out.println("您本月的实际工资为:¥" + salary1);
        System.out.println("由于您本月有额外支出(如公司的工会费等)金额为¥" + extraPay + ", 额外进账金额为:¥" + extraIncome);
        System.out.println("您本月实际到手工资为:¥" + (salary1 - extraPay + extraIncome));
    }
}

猜你喜欢

转载自blog.csdn.net/m0_37738114/article/details/80734920