为随机(http://www.scala-lang.org/api/current/scala/util/Random.html)的Scaladoc页指定nextDouble“返回下一个伪,从该随机数生成器的序列均匀分布的0.0和1.0之间的双值”。Scala中的Random.nextDouble的范围是什么?
很明显,它留下了“包容”。例如,值0.0和1.0是否可能?如果是这样,哪一个(或两个)?例如,如果我除以这个数字,我真的想确保0不是一个返回值。在其他情况下,我可能不需要1.0。很明显,这很难通过测试得到,因为在0.0和1.0之间的值大约在0.038以上。
这是什么?请注意,因为不是每个人都能记得哪个“(”和“[”意思是“包含”,请只说“包含X”。
附注:1.0是唯一的,但是由于浮点数的内部表示,当你对它进行一些算术运算时,可能会发生1.0附近的值表示为1.0 ...(这里有一个Java拼图,但是我现在找不到)。 – sschaef