java 中的大数据类型(BigInteger和BigDecimal)

来源:互联网 发布:大数据接入dpi 编辑:程序博客网 时间:2024/06/15 14:28

一、为什么为用到BigInteger和BigDecimal这种数据类型呢?

      我们非常清楚,Java里面整型int与浮点型float,double它们存放数据的范围是有边界的。那么如果需要更大的数据时,这些数据类型肯定是满足不了这种需求,所以就用到了BigInteger和BigDecimal来解决这个问题。

 

二、BigInteger与BigDecimal这两个类是什么包里面的?它们的作用分别是什么?

      1、java.math包

      2、BigInteger实现了任意精度的整数运算;

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

 

三、怎么将普通的数值转换成大数值呢?

      分别调用BigInteger.valueOf("普通数值"),BigDecimal.valueOf("普通数值")即可。

 

四、大数据类BigInteger与BigDecimal它们没有重载"+","-","*",“/”这四个运算操作符,是不能直接进行数据运算的,那么如何来进行运算操作呢?

      需要使用BigInteger与BigDecimal中提供的方法:

      +——add();

      System.out.println(BigInteger.valueOf(10).add(BigInteger.valueOf(5)));

      - ——subtract();

      System.out.println(BigInteger.valueOf(10).subtract(BigInteger.valueOf(5)));

      *——multiply();

      System.out.println(BigInteger.valueOf(10).multiply(BigInteger.valueOf(5))); 

      /——divide();
      System.out.println(BigInteger.valueOf(10).divide(BigInteger.valueOf(5)));




构造器描述    BigDecimal(int)创建一个具有参数所指定整数值的对象。  BigDecimal(double)创建一个具有参数所指定双精度值的对象。  BigDecimal(long)创建一个具有参数所指定长整数值的对象。  BigDecimal(String)创建一个具有参数所指定以字符串表示的数值的对象。

BigDecimal(int)创建一个具有参数所指定整数值的对象。 

BigDecimal(double)创建一个具有参数所指定双精度值的对象。 

BigDecimal(long)创建一个具有参数所指定长整数值的对象。 

BigDecimal(String)创建一个具有参数所指定以字符串表示的数值的对象

 

方 法描 述  add(BigDecimal)BigDecimal对象中的值相加,然后返回这个对象。  subtract(BigDecimal)BigDecimal对象中的值相减,然后返回这个对象。 multiply(BigDecimal)BigDecimal对象中的值相乘,然后返回这个对象。  divide(BigDecimal)BigDecimal对象中的值相除,然后返回这个对象。  toString()将BigDecimal对象的数值转换成字符串。  doubleValue()将BigDecimal对象中的值以双精度数返回。  floatValue()将BigDecimal对象中的值以单精度数返回。  longValue()将BigDecimal对象中的值以长整数返回。  intValue()将BigDecimal对象中的值以整数返回。  

 add(BigDecimal)BigDecimal对象中的值相加,然后返回这个对象。 

subtract(BigDecimal)BigDecimal对象中的值相减,然后返回这个对象。 

multiply(BigDecimal)BigDecimal对象中的值相乘,然后返回这个对象。 

divide(BigDecimal)BigDecimal对象中的值相除,然后返回这个对象。 

toString()将BigDecimal对象的数值转换成字符串。 

doubleValue()将BigDecimal对象中的值以双精度数返回。 

floatValue()将BigDecimal对象中的值以单精度数返回。 

longValue()将BigDecimal对象中的值以长整数返回。 

intValue()将BigDecimal对象中的值以整数返回。 

注意,由于一般数值类型,例如double,不能准确地代表16位有效数以上的数字,在使用BigDecimal时,应用 BigDecimal(String)构造器创建对象才有意义。另外,BigDecimal所创建的是对象,我们不能使用传统的+、-、*、/等算术运算 符直接对其对象进行数学运算,而必须调用其相对应的方法。方法中的参数也必须是BigDecimal的对象。 


阅读全文
0 0