【发布时间】:2017-07-25 09:04:16
【问题描述】:
我有一种方法可以在最小值和最大值之间获得随机双精度值。我的问题是,如果值是例如 0D 和 10D,我永远不会获得 10D 作为可能的结果,因为 nextDouble 第二个参数是独占的。
public static Double randomDouble(Double min, Double max) {
return ThreadLocalRandom.current().nextDouble(min, max);
}
如果我把这条线放在我的方法中,我已经获得了 10D 结果,但我不知道这是否是一个好习惯。
public static Double randomDouble(Double min, Double max) {
max = max + 0.000000000000001D;
return ThreadLocalRandom.current().nextDouble(min, max);
}
这个问题还有其他解决方案吗?
【问题讨论】:
-
您计算过这成为问题的概率吗?