3.9(10) 大数值

一、概述

  在Java的开发过程中,我们使用的数值类型如果int,long,double等的长度已经够我们使用了,一般情况下是不会超出范围的,当时如果我们使用如double等的精度已经不够使用了,那么我们就需要一个更大的范围来使数据更加的精确(如高精度的仪器,天文仪器,医学仪器等)。这个时候我们可以使用java.math中的两个很有用的类:BigInteger, BigDecimal。

二、说明

  BigInteger实现了任意精度的整数的运算。
  BigDecimal实现了任意精度的浮点数的运算。

如下:

    /**
     * Description :高精度浮点树据的运算
     * @param       
     * @return
     * @exception  
     * @author     :loulan
     * */
    @Test
    public void bigDouble() {
        String pi = "3.141592653589793238462643383279502884197169399375" +
                "105820974944592307816406286208998628034825342117067982" +
                "148086513282306647093844609550582231725359408128481117" +
                "450284102701938521105559644622948954930381964428810975" +
                "665933446128475648233786783165271201909145648566923460" +
                "348610454326648213393607260249141273724587006606315588" +
                "174881520920962829254091715364367892590360011330530548" +
                "820466521384146951941511609433057270365759591953092186" +
                "117381932611793105118548074462379962749567351885752724" +
                "891227938183011949129833673362440656643086021394946395" +
                "224737190702179860943702770539217176293176752384674818" +
                "467669405132000568127145263560827785771342757789609173" +
                "637178721468440901224953430146549585371050792279689258" +
                "923542019956112129021960864034418159813629774771309960" +
                "518707211349999998372978049951059731732816096318595024" +
                "459455346908302642522308253344685035261931188171010003" +
                "137838752886587533208381420617177669147303598253490428" +
                "755468731159562863882353787593751957781857780532171226" +
                "8066130019278766111959092164201989";

        double pi1 = Double.valueOf(pi);
        System.out.println(pi1+1);  // 加1运算 4.141592653589793
        
        BigDecimal pi2 = new BigDecimal(pi);
        System.out.println(pi2.add(new BigDecimal(1))); // 加1运算,这里长度如上面一样100位,这里就不一一写出来了
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值