java BigDecimal类精度计算用法练习——计算一年的工资

本文通过一个实例,展示了如何使用Java的BigDecimal类进行精确的精度计算,以解决涉及工资、社保、补贴和税收的问题。小明的年收入包括基本工资、社保、出差补贴、加班费,并考虑了额外的月数和税费,最终计算结果精确到小数点后两位。
摘要由CSDN通过智能技术生成

要求:
每个月基本工资16000元
每个月交社保为工资的10%
出差一天补贴80元
加班一小时40元
每年发17个月工资,最后5个月的工资 不算社保
最后一个月的工资 需要7%的税
问小明今天加班45天 每天加班4个小时 出差26天 他的总工资多少 精确到小数点后2位

源代码:

package com.oracle.core;

import java.math.BigDecimal;


public class MoneyCalc
{

	public static void main(String[] args)
	{
		BigDecimal base=new BigDecimal("16000");
		//全年社保工资总额
		BigDecimal sumbase = base.multiply(new BigDecimal("12"));
		//全年工资无社保
		BigDecimal subtract = sumbase.subtract(sumbase.multiply(new BigDecimal("0.10")));
        //计算加班工资
		BigDecimal workplus=new BigDecimal(45);
		BigDecimal divide = workplus.multiply(new BigDecimal("40").multiply(new BigDecimal("4")));
		//计算出差工资
		BigDecimal worktogo=new BigDecimal(26);
		BigDecimal sumworktogo = worktogo.multiply(new BigDecimal("80"));
		//计算年终奖以及年终奖税后工资
		BigDecimal monthget=base.subtract(base.multiply(new BigDec
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值