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);