概述
eg:
BigDecimal x1b = new BigDecimal(54D);
BigDecimal x2b = new BigDecimal(20D);
double x = ((x1b.add(x2b)).divide(new BigDecimal(“2”),6,RoundingMode.HALF_UP)).doubleValue();
即:商=被除数.devide(除数,保留小数位数,精确方法).
roundMode是指舍位时候的模式,传参数的时候用BigDecimal.ROUND_XXXX_XXX,
有:
ROUND_CEILING: 舍位时往正无穷方向移动 1.1-> 2 1.5-> 2 1.8-> 2 -1.1-> -1 -1.5-> -1 -1.8-> -1
ROUND_DOWN:向0的方向移动1.1-> 1 1.5-> 1 1.8-> 1 -1.1-> -1 -1.5-> -1 -1.8> -1
ROUND_FLOOR:与CEILING相反,往负无穷 1.1-> 1 1.5-> 1 1.8-> 1 -1.1-> -2 -1.5-> -2 -1.8-> -2
ROUND_HALF_DOWN:以5为分界线,或曰五舍六入1.5-> 1 1.6-> 1 -1.5-> -1 -1.6-> -2
ROUND_HALF_EVEN:同样以5为分界线,如果是5,则前一位变偶数1.15-> 1.2 1.16-> 1.2 1.25-> 1.2 1.26-> 1.3
ROUND_HALF_UP:最常见的四舍五入
UNNECESSARY:无需舍位
ROUND_UP:与ROUND_DOWN,远离0的方向1.1-> 2 1.5-> 2 1.8-> 2 -1.1-> -2 -1.5-> -2 -1.8-> -2
博文出处:http://blog.csdn.net/cdl2008sky/article/details/6576355
最后
以上就是清爽小天鹅为你收集整理的BigDecimal 的舍入模式的全部内容,希望文章能够帮你解决BigDecimal 的舍入模式所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复