向正无限大方向舍入的舍入模式。如果结果为正,则舍入行为类似于 RoundingMode.UP ;如果结果为负,则舍入行为类似于 RoundingMode.DOWN 。注意,此舍入模式始终不会减少计算值。
输入数字 使用 CEILING 舍入模式
将输入数字舍入为一位数
5.5 6
2.5 3
1.6 2
1.1 2
1.0 1
-1.0 -1
-1.1 -1
-1.6 -1
-2.5 -2
-5.5 -5
向负无限大方向舍入的舍入模式。如果结果为正,则舍入行为类似于 RoundingMode.DOWN ;如果结果为负,则舍入行为类似于 RoundingMode.UP 。注意,此舍入模式始终不会增加计算值。
输入数字 使用 FLOOR 舍入模式
将输入数字舍入为一位数
5.5 5
2.5 2
1.6 1
1.1 1
1.0 1
-1.0 -1
-1.1 -2
-1.6 -2
-2.5 -3
-5.5 -6
向最接近数字方向舍入的舍入模式,如果与两个相邻数字的距离相等,则向上舍入。如果被舍弃部分 >= 0.5,则舍入行为同 RoundingMode.UP ;否则舍入行为同 RoundingMode.DOWN 。注意,此舍入模式就是通常学校里讲的四舍五入。
输入数字 使用 HALF_UP 舍入模式
将输入数字舍入为一位数
5.5 6
2.5 3
1.6 2
1.1 1
1.0 1
-1.0 -1
-1.1 -1
-1.6 -2
-2.5 -3
-5.5 -6
向最接近数字方向舍入的舍入模式,如果与两个相邻数字的距离相等,则向下舍入。如果被舍弃部分 > 0.5,则舍入行为同 RoundingMode.UP ;否则舍入行为同 RoundingMode.DOWN
输入数字 使用 HALF_DOWN 舍入模式
将输入数字舍入为一位数
5.5 5
2.5 2
1.6 2
1.1 1
1.0 1
-1.0 -1
-1.1 -1
-1.6 -2
-2.5 -2
-5.5 -5
向最接近数字方向舍入的舍入模式,如果与两个相邻数字的距离相等,则向相邻的偶数舍入。如果舍弃部分左边的数字为奇数,则舍入行为同 RoundingMode.HALF_UP ;如果为偶数,则舍入行为同 RoundingMode.HALF_DOWN 。注意,在重复进行一系列计算时,此舍入模式可以在统计上将累加错误减到最小。此舍入模式也称为“银行家舍入法”,主要在美国使用。此舍入模式类似于 Java 中对 float double 算法使用的舍入策略。
输入数字 使用 HALF_EVEN 舍入模式
将输入数字舍入为一位数
5.5 6
2.5 2
1.6 2
1.1 1
1.0 1
-1.0 -1
-1.1 -1
-1.6 -2
-2.5 -2
-5.5 -6
转自 http://blog.csdn.net/alanzyy/article/details/8465098RoundingMode介绍:RoundingMode是一个枚举类,有一下几个常量:UP,DOWN,CEILING,FLOOR,HALF_UP,HALF_DOWN,HALF_EVEN,UNNECESSARY  UPpublic static
在使用算数运算的时候,我们经常会涉及到取舍问题,下面介绍一下 Rounding Mode 对应的各种取舍方法 一: Rounding Mode . HALF _UP 这是我们最熟悉的 四舍五入 String a="100"; String b="3"; String c="6"; BigDecimal bigDecimal _a=new BigDeci...
进位制:不管保留数字后面是大是小 (0 除外) 都会进 1。结果会向原点的反方向对齐,正数向正无穷方向对齐,负数向负无穷方向对齐。 BigDecimal a = new BigDecimal ("0.098").setScale(2, BigDecimal .ROUND_UP); // 0.10 BigDecimal b = new BigDecimal ("0.0 java.math. Rounding Mode 里面有几个参数搞得我有点晕,现以个人理解对其一一进行总结: 为了能更好理解,我们可以画一个XY轴 Rounding Mode .CEILING:取右边最近的整数 Rounding Mode .DOWN:去掉小数部分取整,也就是正数取左边,负数取右边,相当于向原点 DecimalFormat df= new DecimalFormat("#.##"); df.set Rounding Mode ( Rounding Mode . HALF _UP); 但是,这种方式存在一个问题,就是当小数位数第二数是奇数的时候, 四舍五入 就失效了。 Rounding Mode .CEILING:取右边最近的整数 Rounding Mode .DOWN:去掉小数部分取整.
Java中的 BigDecimal 类提供了多种 四舍五入 的方法,可以根据需要 选择 不同的方法。其中,setScale()方法是最常用的方法,可以设置保留小数位数和舍入模式。例如: BigDecimal bd = new BigDecimal ("3.1415926"); bd = bd.setScale(2, Rounding Mode . HALF _UP); System.out.println(bd); 这段代码将bd保留两位小数,并使用 四舍五入 模式进行舍入。输出结果为3.14。其中, Rounding Mode . HALF _UP表示 四舍五入 模式,还有其他舍入模式可供 选择 ,如 Rounding Mode .UP表示向上舍入, Rounding Mode .DOWN表示向下舍入等。