java中BigDecimal精确位数的计算

1、ROUND_UP    public final static int ROUND_UP = 0

解释:舍入远离零的模式。进1法,即不管后面的数字是多大,都进1。

 

2、ROUND_DOWN    public final static int ROUND_DOWN = 1;

解释:接近零的舍入模式。去1法,即不管后面的数字多大,都直接舍去。

 

3、ROUND_CEILING  public final static int ROUND_CEILING = 2;

解释:接近正无穷大的舍入模式。正的时候,效果跟up一样;负的时候,效果跟down一样。up正,down负。

 

4、ROUND_FLOOR  public final static int ROUND_FLOOR = 3;

解释:接近负无穷的舍入模式。正的时候,效果跟down一样;负的时候,效果跟up一样。down正,up负。

 

5、ROUND_HALF_UP  public final static int ROUND_HALF_UP = 4;

解释:向"最接近的"数字舍入,如果与俩个相邻数字的距离相等,则为向上舍入的舍入模式。如果舍弃部分>=0.5,则舍入行为与up相同;否则,摄入行为与down相同。即逢5进1,就是四舍五入。

 

6、ROUND_HALF_DOWN  public final static int ROUND_HALF_DOWN = 5;

解释:向"最接近的"数字舍入,如果与俩个相邻的数字的距离相等,则为上舍入的舍入模式。如果舍弃部分>0.5,则舍入模式与up相同;否则舍入行为与down相同。即5舍6入。

 

7、ROUND_HALF_EVEN  public final static int ROUND_HALF_EVEN = 6;

解释:向"最接近的"数字舍入,如果与俩个相邻数字的距离相等,则向相邻的偶数舍入。如果舍弃部分左边的数字为奇数,则舍入行为与ROUND_HALF_UP相同;如果为偶数,则舍入行为与ROUND_HALF_DOWN相同。即4舍6入,5分俩种情况。如果前一位为奇数,则入位,否则舍去。

 

8、ROUND_UNNECESSARY  public final static int ROUND_UNNECESSARY = 7;

解释:断言请求的操作具有精确的结果,因此不需要舍去。如果对获取精确结果的操作指定此舍入模式,则抛出ArithmeticException。

 

你可能感兴趣的:(java基础)