【发布时间】:2010-02-09 16:50:51
【问题描述】:
如何在 Java 中获得介于 0.0 和 0.06 之间的随机 Double 值?
【问题讨论】:
-
这实际上并不像听起来那么容易。 +1
-
当您说“介于”时,您希望将端点作为可能的返回值包含还是排除?
-
您应该澄清您想要的是 [0,0.06] 还是 [0,0.06) 中的数字。前者的区间是闭合的(即包含端点)与后者不同,后者的值永远无法得到 0.06。
-
@AakashM, @uckelman:在这种情况下,这无关紧要,因为 0.06 不能完全表示为
double,因此无论如何都无法返回它。或者换种说法:他只能达到“[0.0, 0.6]”。 -
@Joachim Sauer:babbage.cs.qc.edu/IEEE-754/Decimal.html 建议它可以,因为它发生了(它的 1.92 / 32 和 1.92 可以用 52 位尾数精确表示)