精确精度的加减乘除
package ten;
import java.math.BigDecimal;
import java.math.BigInteger;
public class Demo {
public static void main(String[] args) {
BigInteger a=new BigInteger("20");
BigInteger b=new BigInteger("3");
/* System.out.println(a.add(b));
System.out.println(a.subtract(b));
System.out.println(a.multiply(b));*/
System.out.println(a.divide(b));
System.out.println("——————————————");
BigDecimal c=new BigDecimal("20");
BigDecimal d=new BigDecimal("35.999999999999999999999");
/*
System.out.println(c.add(d));//加
System.out.println(c.subtract(d));//减
System.out.println(c.multiply(d));//乘*/
//不循环时 远离0末尾加1
System.out.println(c.divide(d,3,BigDecimal.ROUND_UP));
//不循环时 截断
System.out.println(c.divide(d,3,BigDecimal.ROUND_DOWN));
//不循环时 负的截断,正的末尾加1
System.out.println(c.divide(d,3,BigDecimal.ROUND_CEILING));
//不循环时 正的截断,负的末尾加1
System.out.println(c.divide(d,3,BigDecimal.ROUND_FLOOR));
//四舍五入
System.out.println(c.divide(d,3,BigDecimal.ROUND_HALF_UP));
//五舍六入
System.out.println(c.divide(d,3,BigDecimal.ROUND_HALF_DOWN));
//四舍六入,左边为奇数末尾加1,左边为偶数,截断
System.out.println(c.divide(d,3,BigDecimal.ROUND_HALF_EVEN));
}
}
浙公网安备 33010602011771号