gpt4 book ai didi

java - 如何获得全范围的随机浮点值?

转载 作者:行者123 更新时间:2023-11-29 03:08:50 25 4
gpt4 key购买 nike

我发现 Random#nextFloat返回一个介于 0.01.0 之间的值。

如何获取随机浮点值,例如 -72.0F126.232F

我目前是这样做的。

float randomFloat() {
final ThreadLocalRandom random = ThreadLocalRandom.current();
float value = random.nextFloat() * Float.MAX_VALUE;
if (random.nextBoolean()) {
value = 0 - value;
}
return value;
}

这样对吗?还有其他方法吗?

最佳答案

我建议生成一个绑定(bind) double 然后转换为 float :

return Double.valueOf(random.nextDouble(Float.MIN_VALUE, Float.MAX_VALUE)).floatValue();

nextDouble 方法在 Java 8 中已被替换为生成 double 流的方法。因此,在 Java 8 中,您将使用以下等价物:

DoubleStream randomDoubles = new Random().doubles(Float.MIN_VALUE, Float.MAX_VALUE);
Double.valueOf(randomDoubles.findAny().getAsDouble()).floatValue();

关于java - 如何获得全范围的随机浮点值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30586993/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com