BigDecimal 转为 int
时间: 2024-10-09 19:00:19 浏览: 31
BigDecimal详解、代码示例和经常遇到的坑
`BigDecimal` 类型在 Java 中代表任意精度的十进制数,而 `int` 是 32 位的整数类型。如果你有一个 `BigDecimal` 对象需要转换成 `int`,你需要检查其值是否可以精确地表示为整数,并且不超过 `int` 的范围。
你可以使用 `intValue()` 或者 `longValue()` 方法来进行转换,如果数值过大的超出 `int` 的范围,将会抛出 `ArithmeticException`。例如:
```java
import java.math.BigDecimal;
public class Main {
public static void main(String[] args) {
BigDecimal bd = new BigDecimal("1234567890123456789");
try {
int intValue = bd.intValue(); // 如果数值不超过 int 范围,则正常转换
System.out.println(intValue);
} catch (ArithmeticException e) {
System.out.println("转换失败,数值过大超过 int 范围");
}
}
}
```
阅读全文