【发布时间】:2020-12-13 08:19:08
【问题描述】:
我有一个HashSet<Double>,我想从中提取整数元素,即小数点后全为零的元素。有这样做的标准方法吗?我可以做一些迂回的事情,例如:给定一个双精度 x,我可以查看小数点后的所有值,看看它们是否都为零,但这似乎很复杂。
【问题讨论】:
-
你将不得不做一些迂回的事情,因为对于 JVM,任何双精度值都是双精度值,它不会检查这样的值是否足够接近整数。
-
请注意,
double的大数字没有足够的精度来确定是否需要整数。 -
你也应该决定一个公差。 2.000_000_000_000_000_4 可能是不准确的 2,因此您可能希望将其视为一个整数,具体取决于您的情况。