8、BigInteger和BigDecimal类

BigInteger和BigDecimal类

  1. BigIntege适合保存比较大的整型

  2. BigDecimal适合保存进度更高的浮点型(小数)

  3. 常见方法

    • add 加
    • subtract 减
    • multiply 乘
    • divide 除
    //当我们编程中,需要处理很大的整数,long 不够用
    //可以使用 BigInteger 的类来搞定
    BigInteger bigInteger = new BigInteger("237888888999999999999999999999");
    BigInteger bigInteger1 = new BigInteger("100");
    System.out.println(bigInteger);
    //1. 在对 BigInteger进行加减乘除的时候,需要使用对应的方法,不能直接进行 + - * /
    //2. 可以创建一个要操作的 BigInteger 然后进行相应操作
    BigInteger add = bigInteger.add(bigInteger1);
    System.out.println(add);
    
    //当我们需要保存一个进度很高的数时,double 不够用
    //可以用 BigDecimal
    BigDecimal bigDecimal = new BigDecimal("1999.1111111199999998888888111999");
    BigDecimal bigDecimal1 = new BigDecimal("1.1");
    System.out.println(bigDecimal);
    //1. 在对 BigDecimal进行加减乘除的时候,需要使用对应的方法,不能直接进行 + - * /
    //2. 可以创建一个要操作的 BigDecimal 然后进行相应操作
    //在调用divide方法时,如果除不净,无限循环(不循环),会抛出异常
    //解决:在调用divide 方法时,指定精度即可 BigDecimal.ROUND_CEILING
    //如果有无限循环小数,就会保留 分子 的精度和被除数的精度一致
    System.out.println(bigDecimal.divide(bigDecimal1,BigDecimal.ROUND_CEILING));
    
posted @ 2022-09-20 21:15  花er公子  阅读(38)  评论(0编辑  收藏  举报