bigdecimal向上取位保留两位小数
时间: 2023-11-17 09:02:58 浏览: 69
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类的divide方法来进行除法操作,并通过setScale方法来设置保留的小数位数。以下是一个示例代码:
```java
import java.math.BigDecimal;
import java.math.RoundingMode;
public class Main {
public static void main(String[] args) {
BigDecimal dividend = new BigDecimal("10");
BigDecimal divisor = new BigDecimal("3");
// 进行除法并设置保留两位小数
BigDecimal result = dividend.divide(divisor, 2, RoundingMode.HALF_UP);
System.out.println(result); // 输出结果为3.33
}
}
```
在上述代码中,我们创建了一个BigDecimal对象`dividend`表示被除数和一个BigDecimal对象`divisor`表示除数。然后,我们使用`divide`方法将两个数相除,并通过设置小数位数为2和舍入模式为`RoundingMode.HALF_UP`来保留两位小数。最后,我们将结果打印出来。
请注意,`RoundingMode.HALF_UP`是一种常用的舍入模式,它表示四舍五入。您可以根据需要选择其他舍入模式,例如`RoundingMode.DOWN`表示向下取整,`RoundingMode.UP`表示向上取整等。
String转BigDecimal保留两位小数
您可以使用BigDecimal的setScale()方法来设置小数位数,例如:
```
String numberStr = "1234.5678";
BigDecimal number = new BigDecimal(numberStr);
BigDecimal result = number.setScale(2, RoundingMode.HALF_UP);
System.out.println(result); // 输出结果为 1234.57
```
在上面的代码中,setScale()方法的第一个参数是要保留的小数位数,第二个参数是指定舍入模式。在本例中,我们使用了HALF_UP模式,这意味着如果下一位数字大于等于5,则将当前位数字向上舍入。