BigDecimal 如果是整数取整,如果是小数保留两位小数点
时间: 2023-07-04 22:06:07 浏览: 317
可以使用 BigDecimal 的 setScale() 方法来设置小数位数,如果当前 BigDecimal 是整数,可以先使用 intValue() 方法将其转换为 int 类型,再进行取整操作。
以下是一个示例代码:
```java
import java.math.BigDecimal;
public class BigDecimalDemo {
public static void main(String[] args) {
BigDecimal bd1 = new BigDecimal("1234.56789");
// 保留两位小数
bd1 = bd1.setScale(2, BigDecimal.ROUND_HALF_UP);
System.out.println(bd1); // 输出 1234.57
// 取整
bd1 = bd1.setScale(0, BigDecimal.ROUND_HALF_UP);
System.out.println(bd1); // 输出 1235
BigDecimal bd2 = new BigDecimal("100");
// 保留两位小数
bd2 = bd2.setScale(2, BigDecimal.ROUND_HALF_UP);
System.out.println(bd2); // 输出 100.00
// 取整
int num = bd2.intValue();
System.out.println(num); // 输出 100
}
}
```
在上面的代码中,我们首先创建了一个 BigDecimal 对象 bd1,并对其进行了保留两位小数和取整操作。然后,我们又创建了一个 BigDecimal 对象 bd2 并进行相同的操作,但是在取整时使用了 intValue() 方法将其转换为 int 类型。
运行上述代码,输出如下:
```
1234.57
1235
100.00
100
```
阅读全文