我想在 Java 中生成一个随机浮点值。该值必须在特定的可能值范围内。
例如,我必须生成一个在以下范围内的随机值:
MIN: 41,815080
MAX: 41,829191
这些值恰好代表地图上可能的经度范围,但这个问题更普遍。
什么是聪明的方法呢?
原文由 AndreaNobili 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想在 Java 中生成一个随机浮点值。该值必须在特定的可能值范围内。
例如,我必须生成一个在以下范围内的随机值:
MIN: 41,815080
MAX: 41,829191
这些值恰好代表地图上可能的经度范围,但这个问题更普遍。
什么是聪明的方法呢?
原文由 AndreaNobili 发布,翻译遵循 CC BY-SA 4.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3 回答1.7k 阅读✓ 已解决
对于范围内的随机值,公式为:
无论您使用什么来生成随机数,这个基本公式都是不变的。
Math.random()
提供分布适中的数字,但您可以用您想要的任何随机数生成器替换它,例如(稍微好一点):或者如果你真的想要一个
float
:为了更好的质量(以速度为代价)随机数生成使用
或者您可以使用更奇特的 3rd 方库,例如:
其中使用了优越的 Well19937c 算法。