BigDecimal类 大数据中的大小数 BigIiteger类 大数据中的大整数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BigDecimal类 大数据中的大小数 BigIiteger类 大数据中的大整数相关的知识,希望对你有一定的参考价值。

BigDecimal类
        大数据中的大小数
BigIiteger类
        大数据中的大整数

定义大数据中的大正数和大小数:

 public static void main(String[] args) {

        //BigIiteger类

        //大数据中的加减乘除
        BigInteger bigInteger1 = new BigInteger("123456789123456789123");
        BigInteger bigInteger2 = new BigInteger("1234567891234567891230");
        //相加运算  add()
        BigInteger add = bigInteger1.add(bigInteger2);
        System.out.println("add = " + add);//add = 1358024680358024680353

        //减法运算  subtract()
        BigInteger subtract = bigInteger2.subtract(bigInteger1);
        System.out.println("subtract = " + subtract);//subtract = 1111111102111111102107

        //乘法运算  multiply()
        BigInteger multiply = bigInteger1.multiply(bigInteger1);
        System.out.println("multiply = " + multiply);//multiply = 15241578780673678545992990874560891109129

        //除法运算  divide()
        BigInteger divide = bigInteger2.divide(bigInteger1);
        System.out.println("divide = " + divide);//divide = 10

        //BigDecimal类   大小数
        //有些时候操作小数的时候,会出现精度损失问题
        System.out.println(0.09 + 0.01);//0.09999999999999999
        System.out.println(1.231 * 100);//123.10000000000001

        BigDecimal bigDecimal1 = new BigDecimal("0.09");
        BigDecimal bigDecimal2 = new BigDecimal("0.01");
        //相加    add()
        BigDecimal add1 = bigDecimal1.add(bigDecimal2);
        System.out.println("add1 = " + add1);//add1 = 0.10
        //相减    subtract()
        BigDecimal subtract1 = bigDecimal1.subtract(bigDecimal2);
        System.out.println("subtract1 = " + subtract1);//subtract1 = 0.08
        //乘法运算  multiply()
        BigDecimal multiply1 = bigDecimal1.multiply(bigDecimal2);
        System.out.println("multiply1 = " + multiply1);//multiply1 = 0.0009
        //除法运算  divide()
        BigDecimal divide1 = bigDecimal1.divide(bigDecimal2);
        System.out.println("divide1 = " + divide1);//divide1 = 9
    }

运行结果:

add = 1358024680358024680353
subtract = 1111111102111111102107
multiply = 15241578780673678545992990874560891109129
divide = 10
0.09999999999999999
123.10000000000001
add1 = 0.10
subtract1 = 0.08
multiply1 = 0.0009
divide1 = 9

以上是关于BigDecimal类 大数据中的大小数 BigIiteger类 大数据中的大整数的主要内容,如果未能解决你的问题,请参考以下文章

BigDecimal

BigDecimal大小判断

BigInteger与BigDecimal

Java中BigDecimal类介绍及用法

MathUtils BigDecimal 数字工具类

Java中的Bigdecimal类型运算