java大浮点数BigDecimal介绍
1、在BigDecimal类里面提供有如下的构造函数:构造函数一:public BigDecimal(String val);构造函数二:public BigDecimal(double val)

2、BigDecimal本身支持基础的数学塥骈橄摆计算,可以使用BigDecimal还有一个非常重要的目的,可以利用它来实现准确的四舍五入操作。之前使用过Math.round(像粜杵泳)实现过四舍五入操作,但是这种操作有一个问题,所有的小数位都四舍五入了。加入一家公司年收入按照亿进行计算,今年收入:3.45678亿,按照Math.round()的做法,相当于只有3亿了。遗憾的是BigDecimal类里面没有直接提供有四舍五入的操作支持,可是可以利用除法计算实现:public BigDecimal divide(BigDecimal divisor, int scale, int roundingMode)

3、BigDecimal divisor是被除数;int scale是保留的小数位;int roundingMode是进位模式;@see #ROUND_UP * @see #ROUND_DOWN * @see #ROUND_CEILING * @see #ROUND_FLOOR * @see #ROUND_HALF_UP * @see #ROUND_HALF_DOWN * @see #ROUND_HALF_EVEN * @see #ROUND_UNNECESSARY

4、接下来我们来看一下进位模式的例子:/** * 实现准确位数的四舍五入操作 * @param num * @param scale * @r髫潋啜缅eturn */ public static double round(double num,int scale) { BigDecimal bigDecimal = new BigDecimal(num); BigDecimal bigDecimal2 = new BigDecimal(1); return bigDecimal.divide(bigDecimal2,scale,BigDecimal.ROUND_HALF_UP).doubleValue(); }

5、在程序main方法中编写测试类查看程序结果:

6、此类操作的功能在日后的开发之中一定要会使用,属于工具类的支持范畴。
