BigDecimal类型向下取整
时间: 2023-10-17 14:29:33 浏览: 185
BigDecimal 类型向下取整可以使用 `setScale` 方法结合 `RoundingMode.DOWN` 参数来实现。
具体步骤如下:
1. 创建一个 BigDecimal 对象,假设为 `number`。
2. 调用 `setScale` 方法设置小数位数和舍入模式,例如 `number.setScale(0, RoundingMode.DOWN)`。
3. 最后得到的结果就是向下取整的值。
以下是一个示例代码:
```java
import java.math.BigDecimal;
import java.math.RoundingMode;
public class Main {
public static void main(String[] args) {
BigDecimal number = new BigDecimal("3.8");
BigDecimal result = number.setScale(0, RoundingMode.DOWN);
System.out.println(result); // 输出 3
}
}
```
在上述示例中,我们将 3.8 向下取整得到了 3。你可以根据自己的需求修改要取整的数值和小数位数。
相关问题
BigDecimal 负数向下取整
BigDecimal 是 Java 中用于高精度计算的类,它可以处理超出普通数值类型表示范围的数值。在 BigDecimal 类中,setScale 方法可以用于指定小数点后保留的位数和舍入模式。当舍入模式为 RoundingMode.DOWN 时,表示向零方向舍入,也就是说负数会向下取整。
例如,假设有一个 BigDecimal 对象 bd,其值为 -3.14159,我们想要将其保留两位小数并向下取整,可以这样使用:
```
bd = bd.setScale(2, RoundingMode.DOWN);
```
这样 bd 的值就会变成 -3.14。
BigDecimal 向下取整
以下是使用BigDecimal向下取整的示例代码:
```java
import java.math.BigDecimal;
public class Example {
public static void main(String[] args) {
BigDecimal bd = new BigDecimal("3.1415926");
bd = bd.setScale(2, BigDecimal.ROUND_DOWN); // 保留两位小数,向下取整
System.out.println(bd); // 输出:3.14
}
}
```
在上面的代码中,我们首先创建了一个BigDecimal对象bd,并将其初始化为3.1415926。然后,我们使用setScale()方法将其保留两位小数,并使用BigDecimal.ROUND_DOWN参数向下取整。最后,我们将结果打印到控制台上,输出为3.14。
阅读全文