BigDecimal加减乘除工具类

	//乘法 【可以传入多个】
    public static BigDecimal multiply(BigDecimal... dd) {
        BigDecimal result = BigDecimal.ONE;
        for (BigDecimal n : dd) {
            result = result.multiply(getBigDecimal(n), mc);
        }
        return result;
    }
    //加法【可以传入多个】
     public static BigDecimal add(BigDecimal... dd) {
        BigDecimal result = BigDecimal.ZERO;
        for (BigDecimal d : dd) {
            result = result.add(getBigDecimal(d));
        }
        return result;
    }
    //BigDecimal 判空
     public static BigDecimal getBigDecimal(BigDecimal big) {
        if (null == big) return BigDecimal.ZERO;
        return big;
    }
    //减法【可以传入多个】
    public static BigDecimal sub(BigDecimal big, BigDecimal... dd) {
        BigDecimal result = getBigDecimal(big);
        for (BigDecimal d : dd) {
            result = result.subtract(getBigDecimal(d));
        }
        return result;
    }
    //除法
    一般除法比较多变,这里不贴公式了,写一下一般常用的用法【重点在于divide方法和后面的scale参数】
      /**
     * 计算公式抽取
     * 例如:6÷2*3
     *
     * @param param1
     * @param param2
     * @param param3
     * @return
     */
    private BigDecimal calculateOne(BigDecimal param1, BigDecimal param2, BigDecimal param3) {
        return param1.divide(param2, 4, BigDecimal.ROUND_HALF_DOWN).multiply(param3);
    }
    
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值