将大十进制转换为整数

2022-08-31 07:50:03

我有Hibernate方法,它返回给我一个大十进制。我有另一个API方法,我需要将该数字传递给它,但它接受整数作为参数。我无法更改这两种方法的返回类型或变量类型。

现在如何将BigDecimal转换为整数并将其传递给第二种方法?

有没有办法解决这个问题?


答案 1

你可以调用myBigDecimal.intValueExact()(或只是intValue()),如果你丢失信息,它甚至会引发异常。这返回一个int,但自动装箱处理了这一点。


答案 2

你能保证BigDecimal永远不会包含大于Intege.MAX_VALUE的值吗

如果是,那么下面是调用 intValue 的代码:

Integer.valueOf(bdValue.intValue())