如何在Java中比较两个数字?
可能的重复:
比较两个通用数字的值
我想比较Nums的两个任意实例,找出哪个更大。如您所知,这些可能是整数,多头或双精度,但也是BigIntegers或BigDecimals。那么该怎么办呢?
- 数字不实现可比性。
- 无法使用,因为 BigDecimals 或 BigIntegers 可能会损失精度。
doubleValue()
我真的需要进行实例测试和转换吗?必须有一些库可以做到这一点。但是我已经检查了Apache Commons和Guava,但没有运气。
编辑 1:评论指出了这一点:比较两个通用数字的值。它有一个解决方案,可以使用将所有内容转换为大十进制。真的没有更好的方法来做到这一点吗?toString()
编辑 2:我刚刚发布了我自己的版本作为另一个问题的答案。它应该比公认的答案更有效和更强大。