美文网首页
数字操作类(BigInteger)类

数字操作类(BigInteger)类

作者: 秋笙fine | 来源:发表于2019-01-26 22:40 被阅读0次

    大整数操作类:BigInteger

    如果说现在要操作的数据值很大,那么首先想到的是double,那么如果说现在计算的结果超过了double呢?

    面试题:请问当前假设两个很大的数字进行数学计算(超过了double范围)。你该怎么做?
    如果真的超过了double的范围,那么肯定无法使用double保存,只有String才可以准确的保存这个数据,如果真的很大的数字要进行数学计算,而后按位取出每一个字符保存的数据,进行手工计算
    10
    ..9
    所以在Java里面考虑到了此类情况,提供大数字的操作类,其中BigInteger为大整型,BigDecinmal为大浮点型。这两个数据类型都是Number的子类。
    BigInteger类的构造方法:public BigInteger(String val)

    package TestDemo;
    
    import java.math.BigInteger;
    import java.util.Random;
    
    public class TestDemo{
        
        public static void main(String[] args) throws Exception{
            BigInteger bigA=new BigInteger("123123123123");
            BigInteger bigB=new BigInteger("292830913812");
            System.out.println("plus"+(bigA.add(bigB)));
            System.out.println("cheng"+(bigA.multiply(bigB)));
            System.out.println("chu"+(bigA.divide(bigB)));
    
            //数组里面只有两个元素,第一个元素为商,第二个元素为余数
            //divideAndRemainder
        }   
    
    
    }
    
    
    
    image.png

    在Java里面虽然提供了大数字的操作类,我们项目开发可能对数字更加敏感,Java本身所提供的数字类帮助不大,需要第三方工具jar包。

    相关文章

      网友评论

          本文标题:数字操作类(BigInteger)类

          本文链接:https://www.haomeiwen.com/subject/eaewjqtx.html