BigDecimal应用
public static void main(String[] args) {
BigDecimal a = new BigDecimal(1);
BigDecimal b = new BigDecimal(1);
BigDecimal add = a.add(b);
BigDecimal subtract = a.subtract(b);
BigDecimal multiply = a.multiply(b);
BigDecimal divide = a.divide(b);
//加:2减:0乘:1除1
System.out.println("加:"+add+" 减:"+subtract+" 乘:"+multiply+" 除"+divide);
}
精度问题
public static void main(String[] args) {
BigDecimal a = new BigDecimal(1.2222222222222);
//四舍五入取整
BigDecimal bigDecimal = a.setScale(0, BigDecimal.ROUND_HALF_UP);
System.out.println(bigDecimal);
}
java8写法
public class BiFunctionTest {
public static void main(String[] args) {
BiFunctionTest test = new BiFunctionTest();
System.out.println("加"+test.gettest(new BigDecimal(1), new BigDecimal(2), (a2, b2)->a2.add(b2)));
System.out.println("减"+test.gettest(new BigDecimal(1), new BigDecimal(2), (a2, b2)->a2.subtract(b2)));
System.out.println("乘"+test.gettest(new BigDecimal(1), new BigDecimal(2), (a2, b2)->a2.multiply(b2)));
System.out.println("除"+test.gettest(new BigDecimal(1), new BigDecimal(2), (a2, b2)->a2.divide(b2)));
}
public BigDecimal gettest(BigDecimal a,BigDecimal b,BiFunction<BigDecimal, BigDecimal, BigDecimal> biFunction){
return biFunction.apply(a,b);
}
}