码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-11-06 01:28:56      阅读:13      评论:0      收藏:0      [点我收藏+]

标签:运行   减法   操作   int   tip   ati   运算   multi   rac   

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类 大数据中的大整数

标签:运行   减法   操作   int   tip   ati   运算   multi   rac   

原文地址:https://blog.51cto.com/14954368/2546884

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!