1、保留位数与舍入
1、BigDecimal.setScale(newScale, roundingMode)方法用于格式化小数点
newScale表示保留位数,roundingMode表示舍入模式,舍入模式一共有8种,其值分别从0到7。
ROUND_UP:0; // 向上舍入,远离零方向舍入
ROUND_DOWN:1; // 向下舍入,向零方向舍入
ROUND_CEILING:2; // 向正无限大方向舍入
ROUND_FLOOR:3; // 向负无限大方向舍入
ROUND_HALF_UP:4; // 四舍五入:向最接近的数字方向舍入,如果与两个相邻数字的距离相等,则向上舍入
ROUND_HALF_DOWN:5; // 五舍四入:向最接近的数字方向舍入,如果与两个相邻数字的距离相等,则向下舍入
ROUND_HALF_EVEN:6; // 向最接近数字方向舍入,如果与两个相邻数字的距离相等,则向相邻的偶数舍入
ROUND_UNNECESSARY:7; // 用于断言请求的操作具有精确结果,因此不发生舍入
roundingMode参数在书写过程中可以用左边的写法,也可以用右边值代替。
举例:
public static void main(String[] args) throws ParseException {
BigDecimal data = new BigDecimal("2.346");
BigDecimal data1 = data.setScale(2,4); // 四舍五入
BigDecimal data2 = data.setScale<