在Java中比较BigDecimal和int

时间:2012-03-18 16:27:37

标签: java comparison int bigdecimal

在Java中比较BigDecimal和int的最佳方法是:将BigDecimal转换为int或将int转换为BigDecimal?

4 个答案:

答案 0 :(得分:10)

如果您希望BigDecimal值非常大(即超出int值的范围,即-2 31 至2 31 -1)和/或包含十进制数字,或者只是想安全播放,您应该将int转换为BigDecimal以避免溢出/截断错误。

否则,如果性能是一个非常大的问题(这种情况很少见),那么可能会更好地反过来。

答案 1 :(得分:2)

您想将int转换为BigDecimal

这是因为您无法始终将BigDecimal转换为int;您将丢失小数点后的任何信息,并且BigDecimal的值可能超出int的范围。

答案 2 :(得分:1)

BigDecimal扩展int的范围时,您必须将int转换为BigDecimal,以确保无论如何都可以将它们进行比较。

答案 3 :(得分:0)

不将int转换为BigDecimal的一个原因是你要创建一个新对象,因此你真的在堆上扔垃圾来执行相等。 此外,原始相等性也会比实际BigInteger对象上的更快。