小记-Java保留两位小数-使用BigDecimal

参考自:https://www.cnblogs.com/limin12891/p/11116680.html及jdk1.8文档如下例:

double a = 1;
double b = 3;
BigDecimal num1 = new BigDecimal("" + a);
BigDecimal num2 = new BigDecimal("" + b);
// 四舍五入保留两位小数
BigDecimal result1 = num1.divide(num2, 2, BigDecimal.ROUND_HALF_UP);
// 保留3位小数
BigDecimal result2 = num1.divide(num1, 3, BigDecimal.ROUND_HALF_UP);
System.out.println(result1);
System.out.println(result2);

其中divide的第三个参数用于设定保留的规则:
ROUND_HALF_UP即:四舍五入

还有其它可设定值:

含义
ROUND_DOWN向零方向舍入
ROUND_UP向远离0的方向舍入
ROUND_CEILING向正无穷方向舍入
ROUND_FLOOR向负无穷方向舍入
ROUND_HALF_DOWN相当于五舍六入
ROUND_HALF_EVEN不展开描述
ROUND_UNNECESSARY不需要舍入模式 (无尽报错)