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

Mar*_*tos 8 random scala

随机的Scaladoc页面(http://www.scala-lang.org/api/current/scala/util/Random.html)指定nextDouble " 从此随机返回下一个伪随机数,均匀分布的0.0和1.0之间的双值数字生成器的顺序."

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

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

the*_*mel 15

这是因为它scala.util.Random是一个非常薄的包装器java.util.Random(参见源代码),其中有足够的详细记录:

nextDouble的一般契约是伪随机生成并返回一个从0.0d(包括)到1.0d(包括)范围内均匀选择的双值.

  • nextDouble()是一个非常重要的功能:需要在EXCRUCIATING详细信息中以"scaladocs"语言记录.依赖于它是Java函数的包装这一事实,qv是一个非常糟糕的主意,因为有一天肯定会出现一个不基于Java函数的情况.无论如何,谢谢你的回答! (2认同)