java - 在特定范围内生成Java中的十进制随机数?

标签 java random decimal

如何在 java 中的两个指定变量之间生成随机整数十进制数, 例如x = -1 和 y = 1 会输出 -1.0, -0.9, -0.8, -0.7,….., 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.9, 1.0?

注意:它应该包括 1 和 -1 ([-1,1]) 。并在点后给出一位小数。

最佳答案

Random r = new Random();
double random = (r.nextInt(21)-10) / 10.0;

会给你一个介于 [-1, 1] 之间的随机数,步长为 0.1。

通用方法:

double myRandom(double min, double max) {
    Random r = new Random();
    return (r.nextInt((int)((max-min)*10+1))+min*10) / 10.0;
}

将在 [min, max] 之间返回步长为 0.1 的 double 值。

关于java - 在特定范围内生成Java中的十进制随机数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27531759/

相关文章:

java - 迁移到新 Roo 版本的问题

java - java 中的数学随机数

c# - 为什么 Convert.ToDecimal(Double) 四舍五入到 15 位有效数字?

在 C 中将十进制转换为十六进制并打印数组

regex - 如何使用正则表达式验证带有可选百分比符号的小数?

java - 如何在顶部显示特定的回收者 View 项目?

java - itext 中 PDFFontFactory 类的新常量是什么?

python - 每当调用 rand() 时,是否会自动调用 numpy.random.RandomState()?

java - 尝试从 .xsd 文件创建 Java 类时出错

c - 我需要帮助找出这个算法的作用