关于BigDecimal.ROUND_HALF_UP与ROUND_HALF_DOWN

ROUND_HALF_UP: 遇到.5的状况时往上近似,例: 1.5 ->;2
ROUND_HALF_DOWN : 遇到.5的状况时往下近似,例: 1.5 ->;1

BigDecimal a = new BigDecimal(1.5);
                System.out.println("down="+a.setScale(0,BigDecimal.ROUND_HALF_DOWN)+"/tup="+a.setScale(0,BigDecimal.ROUND_HALF_UP));
结果:down=1  up=2
看这个例子就明白了!.net

其余参数说明blog

 

ROUND_CEILING    
  若是   BigDecimal   是正的,则作   ROUND_UP   操做;若是为负,则作   ROUND_DOWN   操做。    
  ROUND_DOWN    
  从不在舍弃(即截断)的小数以前增长数字。    
  ROUND_FLOOR    
  若是   BigDecimal   为正,则做   ROUND_UP   ;若是为负,则做   ROUND_DOWN   。    
  ROUND_HALF_DOWN    
  若舍弃部分>   .5,则做   ROUND_UP;不然,做   ROUND_DOWN   。    
  ROUND_HALF_EVEN    
  若是舍弃部分左边的数字为奇数,则做   ROUND_HALF_UP   ;若是它为偶数,则做   ROUND_HALF_DOWN   。    
  ROUND_HALF_UP    
  若舍弃部分>=.5,则做   ROUND_UP   ;不然,做   ROUND_DOWN   。    
  ROUND_UNNECESSARY    
  该“伪舍入模式”实际是指明所要求的操做必须是精确的,,所以不须要舍入操做。    
  ROUND_UP    
  老是在非   0   舍弃小数(即截断)以前增长数字。  ci

 

原文:http://blog.csdn.net/daryl715/article/details/1604174im

相关文章
相关标签/搜索