BigDecimal

divide除法用法

a.divide(b.2.RoundingMode,HALF_UP)

补充:

// BigDecimal方式
double f = 1025.435;
BigDecimal b = new BigDecimal(new Double(f).toString);
double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();

注意:这里一定不要直接使用new BigDecimal(double)的构造方法,
而要使用new BigDecimal(new Double(1025.435).toString())的方式,不然会出现精确问题

原文链接:https://blog.csdn.net/qq_26295547/article/details/82493231

 

 

解决方案

在做做除法的时候指定保留的小数的位数:

BigDecimal rate = new BigDecimal(1).divide(new BigDecimal(3), 6, BigDecimal.ROUND_HALF_UP);

做除法的时候出现了无限不循环小数如:0.333333333333

边际利率下有效认购总额

边际差额=

边际倍数=边际理论的有效认购量/边际差额

substract减法用法

 

BigDecimal的初始化:BigDecimal num = new BigDecimal();

函数:

1.加法函数:   add()

2.减法函数: substract()

3.乘法函数:multiply()

4.除法函数:divide()

使用方法:

        //加法
        BigDecimal result1 = num1.add(num2);
        BigDecimal result12 = num12.add(num22);
 
        //减法
        BigDecimal result2 = num1.subtract(num2);
        BigDecimal result22 = num12.subtract(num22);
 
        //乘法
        BigDecimal result3 = num1.multiply(num2);
        BigDecimal result32 = num12.multiply(num22);
 
        //绝对值
        BigDecimal result4 = num3.abs();
        BigDecimal result42 = num32.abs();
 
        //除法
        BigDecimal result5 = num2.divide(num1,20,BigDecimal.ROUND_HALF_UP);
        BigDecimal result52 = num22.divide(num12,20,BigDecimal.ROUND_HALF_UP);





posted @ 2019-09-17 09:22  枫糖浆  阅读(404)  评论(0编辑  收藏  举报