使用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
从不在舍弃(即截断)的小数之前增加数字(其实就是截断的意思)
版权声明:本文为lplj717原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。