将 BigDecimal 转换为 Integer

2022-01-14 00:00:00 integer casting java bigdecimal

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

I have Hibernate method which returns me a BigDecimal. I have another API method to which I need to pass that number but it accepts Integer as parameter. I cannot change return types or variable types of both methods.

现在如何将 BigDecimal 转换为 Integer 并将其传递给第二个方法?

Now how to convert the BigDecimal into Integer and pass it to second method?

有办法解决吗?

推荐答案

你会调用 myBigDecimal.intValueExact()(或只是 intValue()) 如果您丢失信息,它甚至会抛出异常.这会返回一个 int,但自动装箱会处理这个问题.

You would call myBigDecimal.intValueExact() (or just intValue()) and it will even throw an exception if you would lose information. That returns an int but autoboxing takes care of that.

相关文章