代码改变世界

BigDecimal类的使用

2012-08-16 22:55  javaspring  阅读(290)  评论(0编辑  收藏  举报

         在使用float和double的时候会发生精度丢失,而BigDecimal类就是为了处理精度的问题。

          BigDecima类的构造方法有BigDecimal(double avl)这个构造方法不推荐,同样会造成精度丢失,可以使用

BigDecimal(String val)。

下面测试一下BigDecimal的用法

import java.math.BigDecimal;

public class Test {
	public static void main(String[] args) throws Exception
	{
		
		BigDecimal b1=new BigDecimal("0.43848484");
		BigDecimal b2=new BigDecimal("0.05");
		BigDecimal b3=null;
		b3=b1.add(b2);
		System.out.println(b3);
		b3=b1.subtract(b2);
		System.out.println(b3);
		b3=b1.multiply(b2);
		System.out.println(b3);
		b3=b1.divide(b2);
		System.out.println(b3);
		b3=b1.pow(2);
		System.out.println(b3);
		
		
	

	}
}


输出结果

0.48848484
0.38848484
0.0219242420
8.7696968
0.1922689549098256