java BigDecimal 取整
时间: 2023-10-14 14:02:28 浏览: 158
java 取整
在Java中,可以使用BigDecimal类来进行精确的数值计算,并且可以对BigDecimal对象进行取整操作。有几种方法可以实现BigDecimal的取整:
1. 使用setScale方法:
```java
BigDecimal number = new BigDecimal("3.14159");
BigDecimal roundedNumber = number.setScale(0, RoundingMode.HALF_UP);
System.out.println(roundedNumber); // 输出: 3
```
这里的setScale方法接受两个参数,第一个参数是要保留的小数位数,第二个参数是舍入模式。在这个例子中,我们将小数位数设置为0,舍入模式设置为RoundingMode.HALF_UP,表示四舍五入。
2. 使用intValue、longValue等方法:
```java
BigDecimal number = new BigDecimal("3.14159");
int roundedInt = number.intValue();
long roundedLong = number.longValue();
System.out.println(roundedInt); // 输出: 3
System.out.println(roundedLong); // 输出: 3
```
这些方法将BigDecimal对象转换为对应的整数类型。
3. 使用BigInteger的valueOf方法:
```java
BigDecimal number = new BigDecimal("3.14159");
BigInteger roundedBigInteger = number.toBigInteger();
System.out.println(roundedBigInteger); // 输出: 3
```
这个方法将BigDecimal对象转换为BigInteger对象,并且会将小数部分直接舍弃。
以上是一些常见的BigDecimal取整的方法,你可以根据需要选择合适的方法来实现你的需求。
阅读全文