BigDecimal向上取
时间: 2023-11-11 16:58:44 浏览: 83
要实现BigDecimal向上取整,可以使用setScale方法,并且传入参数RoundingMode.CEILING。例如:
```
BigDecimal num = new BigDecimal("3.14159");
BigDecimal result = num.setScale(2, RoundingMode.CEILING);
System.out.println(result); // 输出 3.15
```
相关问题
bigdecimal向上取位保留两位小数
BigDecimal是Java中的一个类,用于高精度计算。在进行小数计算时,我们通常需要保留小数点后几位,而BigDecimal提供了setScale方法来实现这个功能。setScale方法有两个参数,第一个参数是保留的小数位数,第二个参数是舍入模式。其中,ROUND_HALF_UP表示四舍五入,ROUND_HALF_DOWN表示向下取整。如果要向上取整,可以使用setScale方法的第二个参数为ROUND_UP。下面是一个保留两位小数并向上取整的例子:
```
BigDecimal decimal = new BigDecimal("1.12345");
BigDecimal setScale = decimal.setScale(2, BigDecimal.ROUND_UP);
System.out.println(setScale);
```
输出结果为1.13。
bigdecimal取整数 不过时的写法
在使用 BigDecimal 进行数值计算时,如果需要将结果保留整数部分,可以使用以下代码进行四舍五入:
```
BigDecimal result = new BigDecimal("1.2345");
result = result.setScale(0, BigDecimal.ROUND_HALF_UP);
```
其中 `setScale(0)` 表示保留 0 位小数,`ROUND_HALF_UP` 表示使用四舍五入的方式进行取整。
如果需要向下取整,可以使用 `ROUND_DOWN` 参数:
```
BigDecimal result = new BigDecimal("1.2345");
result = result.setScale(0, BigDecimal.ROUND_DOWN);
```
如果需要向上取整,可以使用 `ROUND_UP` 参数:
```
BigDecimal result = new BigDecimal("1.2345");
result = result.setScale(0, BigDecimal.ROUND_UP);
```
以上三种取整方式均为不过时的写法。
阅读全文