上海 三险一金 税后工资计算

	public String wagesCalculate(double key) {
		// 小数保留两位
		DecimalFormat df = new DecimalFormat("######0.00");
		// 养老 22% 8%
		double endowment_company = key * 0.22;
		double endowment_personal = key * 0.08;
		// 医疗 6% 1%
		double medical_company = key * 0.06;
		double medical_personal = key * 0.01;
		// 工伤 0.5%
		double injury_company = key * 0.005;
		// 住房公积金 7% 7%
		double fund_company = key * 0.07;
		double fund_personal = key * 0.07;

		String fundCompany = df.format(fund_company);
		String fundPersonal = df.format(fund_personal);

		// 社保后工资
		double wages = key - endowment_personal - medical_personal
				- fund_personal;

		// 纳税工资,3500起征点
		double taxes_wages = wages - 3500;

		double taxes = 0;
		// 超额累进税率计算个人所得税
		if (taxes_wages <= 1500) {
			taxes = taxes_wages * 0.03;
		} else if (taxes_wages > 1500 && taxes_wages <= 4500) {
			taxes = taxes_wages * 0.1 - 105;
		} else if (taxes_wages > 4500 && taxes_wages <= 9000) {
			taxes = taxes_wages * 0.2 - 555;
		} else if (taxes_wages > 9000 && taxes_wages <= 35000) {
			taxes = taxes_wages * 0.25 - 1005;
		} else if (taxes_wages > 35000 && taxes_wages <= 55000) {
			taxes = taxes_wages * 0.3 - 2775;
		} else if (taxes_wages > 55000 && taxes_wages <= 80000) {
			taxes = taxes_wages * 0.35 - 5505;
		} else if (taxes_wages > 80000) {
			taxes = taxes_wages * 0.45 - 13505;
		}

		// 实际工资
		double actual_wages = wages - taxes;

		String returnStr = "                     公司                     个人"
				+ System.getProperty("line.separator") + "养老:    "
				+ endowment_company + "    " + endowment_personal
				+ System.getProperty("line.separator") + "医疗:    "
				+ medical_company + "    " + medical_personal
				+ System.getProperty("line.separator") + "工伤:    "
				+ injury_company + System.getProperty("line.separator")
				+ "公积金:" + fundCompany + "    " + fundPersonal
				+ System.getProperty("line.separator") + "个人所得税:" + taxes
				+ System.getProperty("line.separator")
				+ "----------------------------------------------"
				+ System.getProperty("line.separator") +"税前月薪:"+key+"  税后月薪:     "
				+ actual_wages;
		return returnStr;

	}

  

posted @ 2016-05-30 19:08  KaterinaPetrova  阅读(528)  评论(0编辑  收藏  举报