Java的BigDecimal对象加减乘除方法

BigDecimal对象相加

		BigDecimal a = new BigDecimal("1234.112");
        BigDecimal b = new BigDecimal("2222.333");
        BigDecimal c = a.add(b);
        System.out.println(c);

结果:3456.445
注意:如果是带小数的,尽量先转成字符串再转BigDecimal

BigDecimal对象相减

        BigDecimal a = new BigDecimal("1234.112");
        BigDecimal b = new BigDecimal("2222.333");
        BigDecimal c = a.subtract(b);
        System.out.println(c);

结果:-988.221

BigDecimal对象相乘

        BigDecimal a = new BigDecimal("1234.112");
        BigDecimal b = new BigDecimal("2222.333");
        BigDecimal c = a.multiply(b);
        System.out.println(c);

结果:2742607.823296

BigDecimal对象相除

		BigDecimal a = new BigDecimal("1234.112");
        BigDecimal b = new BigDecimal("2222.333");
        BigDecimal result = a.divide(b, RoundingMode.HALF_UP);
        System.out.println(result);

结果:0.555
其中,a是被除数,b是除数,roundingMode是舍入模式,是为了防止精度丢失,具体使用取决于你的开发业务。

常量名含义
RoundingMode.UP向远离零的方向舍入
RoundingMode.DOWN向接近零的方向舍入
RoundingMode.CEILING朝正无穷大方向舍入
RoundingMode.FLOOR朝负无穷大方向舍入
RoundingMode.HALF_UP四舍五入,如果舍弃部分大于等于0.5,则进位
RoundingMode.HALF_DOWN四舍五入,如果舍弃部分大于0.5,则进位
RoundingMode.HALF_EVEN银行家舍入法,当舍弃部分左边的数字为奇数时,则进位(类似四舍六入五成双)
RoundingMode.UNNECESSARY如果存在多余的小数位,则抛出ArithmeticException异常

总结

这篇博客是为了做笔记用的,因为老是忘记BigDecimal的使用方法,只记得加法和减法,特别是除法老是忘了怎么用。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值