简介
主要涉及类BigDecimal,舍入模式RoundingMode,及其他类
java支持7中舍入法
1、 ROUND_UP:远离零方向舍入。向绝对值最大的方向舍入,只要舍弃位非0即进位。
2、 ROUND_DOWN:趋向零方向舍入。向绝对值最小的方向舍入,所有的位都要舍弃,不存在进位情况。
3、 ROUND_CEILING:向正无穷方向舍入,向正最大方向靠拢。如果参数是正数,使用UP规则,如果参数是负数,使用DOWN规则;
4、 ROUND_FLOOR:向负无穷方向舍入,向负无穷方向靠拢。如果参数是正数,使用DOWN规则,如果参数是负数,使用UP规则;
5、 HALF_UP:最近数字舍入(5进),这是我们最经典的四舍五入。如果要丢掉的数字大于等于0.5,使用UP规则;否则使用DOWN规则;
6、 HALF_DOWN:最近数字舍入(5舍)。在这里5是要舍弃的。如果要丢掉的数字大于0.5,使用UP规则;否则使用DOWN规则;
7、 HAIL_EVEN:银行家舍入法。
1)舍去位的数值小于5时,直接舍去; //11.554 = 11.55
2)舍去位的数值大于5时,进位后舍去;// 11.556 = 11.56
3)当舍去位的数值等于5时,
若5后面还有其他非0数值,则进位后舍去; //11.5551 = 11.56 -----五后有非0数进位舍去
若5后面是0时,则根据5前一位数的奇偶性来判断,奇数进位,偶数舍去; //11.545 = 11.54 ,11.555 = 11.56
几种保留小数位的方法
1.使用BigDecimal
2.使用DecimalFormat
3.使用String .format
4.使用struts标签情况下使用format属性