相关疑难解决方法(0)

如何在Java中比较两个数字?

可能重复:
比较两个通用数字的值

我想比较两个任意的Number实例来找出哪个更大.如您所知,这些可能是整数,长整数或双数,但也可能是BigIntegers或BigDecimals.那么该怎么办?

  1. Number没有实现Comparable.
  2. 无法使用,doubleValue()因为BigDecimals或BigIntegers可能会丢失精度.

我真的必须进行实例测试和投射吗?这里必须有一些库,做到这一点.但我已经检查过Apache Commons和Guava没有运气.

编辑1:评论指出了这一点:比较两个通用数字的值.它有一个解决方案,使用将所有内容转换为BigDecimal toString().真的没有更好的方法吗?

编辑2:我刚发布了自己的版本作为另一个问题的答案.它应该比公认的答案更有效和更强大.

java compare numbers

20
推荐指数
2
解决办法
3万
查看次数

寻找1到2之间的总和

给定n个正实数,任务是对以下问题提供"是"或"否"答案:"是否存在一对数字x和y,使得1 <= x + y <= 2.

显而易见的解决方案是对所有需要O(nlogn)的数字进行排序.现在,可以在O(n)时间内检查对.

然而,预计该问题将在恒定的空间和线性时间内得到解决.任何见解?

algorithm

6
推荐指数
1
解决办法
138
查看次数

标签 统计

algorithm ×1

compare ×1

java ×1

numbers ×1