如果不是财务计算的话,可能不太会接触到这个玩意...
BigDecimal 高精度定点数. 可以精确小数点...
例如: 平时我们这样计算的时候,
double num = 2.0;
double num2 = 1.1;
System.out.println(num - num2); //0.8999999999999999
它输出的值,是循环小数....是不是看的很不爽啊....
为了不看到这个玩意,咱们用BigDecimal试试看...
</pre><p><pre name="code" class="java"> BigDecimal bigd = new BigDecimal("2.0");
BigDecimal bigd2 = new BigDecimal("1.1");
BigDecimal bigd3 = bigd.add(bigd2); //和
BigDecimal bigd4 = bigd.subtract(bigd2);//差
BigDecimal bigd5 = bigd.multiply(bigd2);//积
System.out.println("和: "+bigd3); //和: 3.1
System.out.println("差: "+bigd4); //差: 0.9
System.out.println("积: "+bigd5); //积: 2.20
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对象中的值以整数返回。
部分引用: http://www.cnblogs.com/linjiqin/p/3413894.html