目前 Java 支持 7 种舍入法:
1、ROUND_UP:远离零方向舍入。向绝对值最大的方向舍入,只要舍弃位非 0 即进位。
2、ROUND_DOWN:趋向零方向舍入。向绝对值最小的方向输入,所有的位都要舍弃,不存在进位情况。
3、ROUND_CEILING:向正无穷方向舍入。向正最大方向靠拢。若是正数,舍入行为类似于 ROUND_UP,若为负数,舍入行为类似于 ROUND_DOWN。Math.round() 方法就是使用的此模式。
4、ROUND_FLOOR:向负无穷方向舍入。向负无穷方向靠拢。若是正数,舍入行为类似于 ROUND_DOWN;若为负数,舍入行为类似于 ROUND_UP。
5、HALF_UP:最近数字舍入(5 进)。这是我们最经典的四舍五入。
6、HALF_DOWN:最近数字舍入(5 舍)。在这里 5 是要舍弃的。
7、HAIL_EVEN:银行家舍入法。
小数实现保留位:(2 位为例)
1、BigDecimal
BigDecimal b = new BigDecimal("123.45");
String num = b.setScale(2, RoundingMode.HALF_UP).toString();
2、DecimalFormat
new java.text.DecimalFormat("#.00").format(3.1415926)
3、String .format
double d = 3.1415926;
String result = String .format("%.2f");
%.2f %.
表示 小数点前任意位数,2 表示两位小数,格式后的结果为 f 表示浮点型。