如果不是财务计算的话,可能不太会接触到这个玩意...
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