BigDecimal使用介绍

构造

1、整型可以传数字或者字符串
2、小数型必须传字符串(不然小数计算不精准)

        BigDecimal a=new BigDecimal(100);
        BigDecimal b=new BigDecimal(6);
        BigDecimal c=new BigDecimal(-6);

比较大小

        a<b
        a.compareTo(b) == -1

        a=b
        a.compareTo(b) == 0

        a>b
        a.compareTo(b) == 1

        a>=b
        a.compareTo(b) >= 0

        a<=b
        a.compareTo(b) <= 0

加减乘除

        //加法
        BigDecimal resAdd = a.add(b);

        //减法
        BigDecimal resSub = a.subtract(b);

        //乘法
        BigDecimal resMul = a.multiply(b);

        //绝对值
        BigDecimal resAbs = c.abs();

        /**
         * 除法
         *  (BigDecimal divisor 除数, int scale 精确小数位, int roundingMode 舍入模式)
         */
        BigDecimal resDiv = a.divide(b,20,BigDecimal.ROUND_HALF_UP);

舍入模式

1、ROUND_UP
舍入远离零的舍入模式(数值部分向上进位)

2、ROUND_DOWN
接近零的舍入模式(数值部分向下进位)

3、ROUND_CEILING
接近正无穷大的舍入模式(向上进位)

4、ROUND_FLOOR
接近负无穷大的舍入模式(向下进位)

5、ROUND_HALF_UP
向“最接近的”数字舍入,如果与两个相邻数字的距离相等,则为向上舍入的舍入模式(四舍五入)

6、ROUND_HALF_DOWN
向“最接近的”数字舍入,如果与两个相邻数字的距离相等,则为上舍入的舍入模式(五舍六入)
(0.5,舍;大于0.5入)

7、ROUND_HALF_EVEN
向“最接近的”数字舍入,如果与两个相邻数字的距离相等,则向相邻的偶数舍入

8、ROUND_UNNECESSARY
断言请求的操作具有精确的结果,因此不需要舍入
(在保留位,若装不下,则抛异常)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

必成公

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值