BigDecimal 使用浅析

当参数单一时:

代码
public class B {
//BigDecimal函数测试类
public static void main(String agrs[]){
System.out.println(te(2.226667));
}

  //根据使用条件添加参数、改变ROUND_HALF_UP
    static BigDecimal te(double dou){
return new BigDecimal(dou).setScale(2, BigDecimal.ROUND_HALF_UP);
}
}

输出
2.23

当有多参数需要相加减时:

public class B {
//BigDecimal函数测试类
public static void main(String agrs[]){
  //可以通过计算后传值
double b1 = 2.589;
double b2 = 258.9;
System.out.println(te(b1+b2));
}

  //根据使用条件添加参数、改变ROUND_HALF_UP

static BigDecimal te(double dou){
return new BigDecimal(dou).setScale(2, BigDecimal.ROUND_HALF_UP);
}
}

结果
261.49

 

1. ROUND_DOWN

直接去掉多余的位数

 

2. ROUND_UP

 跟上面相反,进位处理

 

3. ROUND_CEILING

 如果是正数,相当于BigDecimal.ROUND_UP

 如果是负数,相当于BigDecimal.ROUND_DOWN

 

4. ROUND_FLOOR

如果舍弃的是正数,相当于BigDecimal.ROUND_DOWN

如果是负数,相当于BigDecimal.ROUND_HALF_UP

 

5. ROUND_HALF_UP 

四舍五入(若舍弃部分>=.5,就进位)

 

6. ROUND_HALF_DOWN 

四舍五入(若舍弃部分>.5,就进位)

 

posted @ 2019-06-24 16:06  CaptainFM  阅读(333)  评论(0编辑  收藏  举报