document.write('
在初学Java的时候,我们知道float和double都表示浮点数。但是由于float和double所表示的浮点数是
近似值,不是精确的值,因此,二者不适合作为价格的数据类型。Java语言提供了另外一种数据类型
BigDecimal,可以表示精确的浮点数,适合用作财务计算的数据类型。但是需要注意的是,在使用
BigDecimal的时候,BigDecimal有多个重载的构造方法能表示精确的值,只有用参数为String类型的
构造方法才能表示,示例代码如下:
import java.math.BigDecimal;
public class Test
{
public static void main(String args[]){
double d1=2.15;
double d2=1.10;
System.out.pfintln("double类型运算结果:"+(d1-d2));
BigDecimal bd1=new BigDecimal("2.15");
BigDecimal bd2=new BigDecimal("1.10");
System.out.println("BigDecimal类型运算结果:"+bd1.subtract(bd2));
BigDecimal bd3=new BigDecimal(2.15);
BigDecimal bd4=new BigDecimal(1.10);
System.out.println("BigDecimal类型错误使用方法运算结果:"+
(bd3.subtract(bd4)));
}
}
程序的运行结果为:
double 类型运算结果:1.0499999999999998
BigDecimal 类型运算结果:1.05
BigDecimal 类型错误使用方法运算结果:

1.049999999999999822364316059974953532218933105468750 

');