使用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
從不在捨棄(即截斷)的小數之前增加數字(其實就是截斷的意思)