java中的设置精度(小数位数)向上取整 BigDecimal

java中的设置精度(小数位数)向上取整 BigDecimal_第1张图片

使用BigDecimal对任意精度带符号小数进行缩放操作

public static void test3() {
        double a = 1.2111d;
        //保留三位小数向上截取(非四舍五入)
        double d = new BigDecimal(a).setScale(3, BigDecimal.ROUND_UP).doubleValue();
        System.out.println(d);
    }

ROUND_CEILING
如果BigDecimal是正的,则做ROUND_UP操作; 如果为负,则做ROUND_DOWN操作。 

ROUND_FLOOR 
如果BigDecimal为正,则作ROUND_UP; 如果为负,则作ROUND_DOWN。 
  
ROUND_HALF_DOWN   
若舍弃部分> 0.5,则作ROUND_UP; 否则,作ROUND_DOWN。  

ROUND_HALF_EVEN   
如果舍弃部分左边的数字为奇数,则作ROUND_HALF_UP;如果它为偶数,则作ROUND_HALF_DOWN。   

ROUND_HALF_UP   
若舍弃部分>=0.5,则作ROUND_UP; 否则作ROUND_DOWN。   

ROUND_UNNECESSARY   
该“伪舍入模式”实际是指明所要求的操作必须是精确的,因此不需要舍入操作。   

ROUND_UP   
总是在非0舍弃小数(即截断)之前增加数字。(其实就是只要不是0,就进一位的意思)  

ROUND_DOWN   
从不在舍弃(即截断)的小数之前增加数字(其实就是截断的意思)

你可能感兴趣的:(java)