Scala中Random.nextDouble的范围是多少?

时间:2012-10-09 16:27:37

标签: scala random

随机http://www.scala-lang.org/api/current/scala/util/Random.html)的Scaladoc页面指定 nextDouble “返回下一个伪随机数,从此随机数返回0.0到1.0之间的均匀分布的double值发电机的顺序。“

相当明显,它没有“包含”。例如,值0.0和1.0可能吗?如果是这样,哪一个(或两个)?例如,如果我除以这个数字,我真的想确保0不是返回值。在其他情况下,我可能不想要1.0。很明显,这很难通过测试,因为 10 ^ 15 值介于0.0和1.0之间。

这是什么?请注意,因为不是每个人都能记住“(”和“[”表示“包含”中的哪一个,请说“包含X”。

1 个答案:

答案 0 :(得分:14)

这是因为scala.util.Randomjava.util.Randomsee the source)周围非常薄的包装,记录为in sufficient detail

  

nextDouble的一般契约是伪随机地从0.0d(包含)到1.0d(独占)范围内均匀选择的一个双精度值生成并返回。