BigDecimal如何保留小数位

1 BigDecimal big = new BigDecimal("2.3513"); //设置BigDecimal初始值
2 big.setScale(1);  // 保留1位小数,默认用四舍五入。
3 big.setScale(1, BigDecimal.ROUND_DOWN);  // 直接删除多余的小数,2.3513直接被截断位2.3
4 big.setScale(1, BigDecimal.ROUND_HALE_UP);  //四舍五入,向上舍入,2.3513变成2.4   
5 big.setScale(1, BigDecimal.ROUND_HALF_DOWN);  //四舍五入,向下舍入,2.3513变成2.3

 

方法总结为:

1. setScale(int x);    BigDecimal值后保留x位小数

2. setScale(x, BigDecimal.ROUND_DOWN);    保留1位小数,默认用四舍五入

3. setScale(x, BigDecimal.ROUND_HALE_UP);    保留一位小数,向上舍入

4. setScale(x, BigDecimal.ROUND_HALF_DOWN);    保留一位小数,向下舍入

 

JDK 11 后修复已抛弃的方法

 

posted @ 2020-06-18 16:07  明知山有小脑斧  阅读(5697)  评论(0编辑  收藏  举报