JavaAPI_常用类3

JavaAPI_常用类3

1.BigInteger类

java.math.BigInteger 类:不可变的任意精度整数。

BigInteger类型的数字范围较Integer,Long类型的数字范围要大得多,它支持任意精度的整数,也就是说在运算中 BigInteger 类型可以准确地表示任何大小的整数值而不会丢失任何信息。

    public static void main(String[] args) {
        /*
    BigInteger类     不可变的任意精度整数。
     */
        BigInteger a = new BigInteger("111111111111111111111111111111111111111111111");
        System.out.println(a);
        BigInteger b = new BigInteger("11111111111111111111111111111111111111111111111");

        BigInteger c = a.add(b);//加, a.add(b)是一个新的 BigInteger对象
        System.out.println(c);
        System.out.println(a);
        System.out.println(b);

        System.out.println(a.subtract(b));//减
        System.out.println(a.multiply(b));//乘
        System.out.println(a.divide(b));//除

    }

2.BigDecimal类

java.math.BigDecimal类:不变的,任意精度的带符号的十进制数字。

在计算机中不论是float还是double都是浮点数,而计算机是二进制的,浮点数会失去一定的精确度。

根本原因是:十进制值通常没有完全相同的二进制表现形式;十进制数的二进制表现形式可能不精确。只能无限接近于那个值。

        double a = 1.0-0.9;
        System.out.println(a);//0.09999999999999998
        double b = 0.8-0.7;
        System.out.println(b);//0.10000000000000009
        System.out.println(a==b);//false

所以,Java在java.math包中提供的API类BigDecimal。

 public static void main(String[] args) {
        /*
        BigDecimal类   不变的,任意精度的带符号的十进制数字。
         */
        System.out.println(10.9-10.8 );//0.09999999999999964
        System.out.println(10.9-10.8 == 0.1);//false

        BigDecimal b1 = new BigDecimal("10");
        System.out.println(b1);
        BigDecimal b2 = new BigDecimal("3");
        // BigDecimal.ROUND_CEILING   圆形模式向正无穷大转弯。
//        System.out.println(b1.divide(b2));
        System.out.println(b1.divide(b2,15,BigDecimal.ROUND_CEILING));// 3.333333333333334
        // BigDecimal.ROUND_FLOOR     舍入模式向负无穷大转弯。
        System.out.println(b1.divide(b2,6,BigDecimal.ROUND_FLOOR));//  3.333333
    }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白居不易.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值