【使用BigDecimal计算】

使用BigDecimal计算

 public class Test {
    public static void main(String[] args) {
//如果是double类型的话,要转换类型,不然会计算错误  使用Double.toString(double)转成String,然后使用String构造方法,或使用BigDecimal的静态方法valueOf,如下
        BigDecimal a = new BigDecimal("100");
        BigDecimal b = new BigDecimal("50");

        System.out.println("a+b="+a.add(b));//加法
        System.out.println("a-b="+a.subtract(b));//减法
        System.out.println("a*b="+a.multiply(b));//乘法
        System.out.println("a/b="+a.divide(b));//除法
    }
}
/*这边特别提一下,如果进行除法运算的时候,结果不能整除,有余数,这个时候会报java.lang.ArithmeticException:

        ,这边我们要避免这个错误产生,在进行除法运算的时候,针对可能出现的小数产生的计算,必须要多传两个参数

        divide(BigDecimal,保留小数点后几位小数,舍入模式)
          事例    System.out.println("a/b="+a.divide(b.ROUND_DOWN));
        舍入模式

        ROUND_CEILING    //向正无穷方向舍入
        ROUND_DOWN    //向零方向舍入
        ROUND_FLOOR    //向负无穷方向舍入
        ROUND_HALF_DOWN    //向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,向下舍入, 例如1.55 保留一位小数结果为1.5
        ROUND_HALF_EVEN    //向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,如果保留位数是奇数,使用ROUND_HALF_UP,如果是偶数,使用ROUND_HALF_DOWN
        ROUND_HALF_UP    //向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,向上舍入, 1.55保留一位小数结果为1.6,也就是我们常说的“四舍五入”
        ROUND_UNNECESSARY    //计算结果是精确的,不需要舍入模式
        ROUND_UP    //向远离0的方向舍入*/
        ```
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值