java的四舍五入与保留位

简介

主要涉及类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 

使用BigDecimal

2.使用DecimalFormat

使用DecimalFormat

3.使用String .format

使用String .format

4.使用struts标签情况下使用format属性

struts标签 下format属性
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容