精确精度的加减乘除

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

posted on 2022-06-15 15:32  吴XX  阅读(47)  评论(0)    收藏  举报