Bigdecimal类型运算

来源:互联网 发布:java 静态泛型变量 编辑:程序博客网 时间:2024/06/05 06:58

Java中的Bigdecimal类型运算


双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大或者更小的数进行运算和处理。Javajava.math包中提 供的APIBigDecimal,用来对超过16位有效位的数进行精确的运算。表5.7中列出了BigDecimal类的主要构造器和方法。


构造器  描 述 

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对象中的值以整数返回。 


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

 

eg:

两个BigDecimal  类型的数据相乘:

BigDecimal       new   BigDecimal(15124); 
         BigDecimal       new   BigDecimal(15124); 
         BigDecimal       a.multiply(b);


原创粉丝点击