在Java中生成0到1之间的随机双精度或[0..1]

时间:2016-09-27 01:30:50

标签: java random

Java Math.random()在[0..1]中返回一个随机数。有没有办法让1.0包容?最后我希望在[Min..Max]等特定范围内有一个随机数(浮点数)。我们知道,对于整数,它将是

Min + (int)(Math.random() * ((Max - Min) + 1))

我查看了“包含范围内的随机浮点双重”中所示的答案。亚历克斯·L的答案非常接近,但肯德尔·普雷特评论说这不是很正确。

function randomInRange(min, max) {
  return Math.random() < 0.5 ? ((1-Math.random()) * (max-min) + min) : (Math.random() * (max-min) + min);
}

要在蒙特卡罗模拟应用程序中使用它,两个边界应该是包含的还是排他的。

0 个答案:

没有答案