背景
使用 BigDecimal 计算百分数时保留两位小数。
实现
代码:
@GetMapping("/t6")
public void test6(){
BigDecimal num1 = new BigDecimal("2");
BigDecimal num2 = new BigDecimal("3");
// 计算num1除以num2的结果,保留四位小数,四舍五入
BigDecimal divide = num1.divide(num2, 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP);
log.info(divide + "%");
}
输出:
66.67%
RoundingMode.HALF_UP
是 Java 中的一个枚举值,用于指定四舍五入的规则。具体来说,RoundingMode.HALF_UP
表示四舍五入时,当需要舍弃的小数部分大于等于 0.5 时,向上舍入;小于 0.5 时,向下舍入。
例如:
- 对于数字 3.6,使用
RoundingMode.HALF_UP
进行四舍五入,结果为4。 - 对于数字 3.4,使用
RoundingMode.HALF_UP
进行四舍五入,结果为3。
在代码中的 BigDecimal
计算中,通过使用 RoundingMode.HALF_UP
,可以保证在进行四舍五入时,结果会按照标准的四舍五入规则进行舍入,从而获得精确的结果。
总结
Java 语言使用 BigDecimal 实现计算百分数时保留两位小数。