java 实现范围内的随机数 带小数
时间: 2023-10-21 20:19:45 浏览: 79
Java 实现指定范围内的随机小数可以使用 `java.util.Random` 类和 `java.math.BigDecimal` 类。以下是一个生成指定范围内小数的示例代码:
```java
import java.math.BigDecimal;
import java.util.Random;
public class RandomExample {
public static void main(String[] args) {
double min = 0.1;
double max = 0.5;
int scale = 2; // 小数点后保留的位数
// 创建 Random 对象
Random random = new Random();
// 生成 min 到 max 之间的随机小数
double randomDouble = random.nextDouble() * (max - min) + min;
// 使用 BigDecimal 进行精度控制
BigDecimal bd = new BigDecimal(randomDouble);
bd = bd.setScale(scale, BigDecimal.ROUND_HALF_UP);
System.out.println("Random number between " + min + " and " + max + ": " + bd.doubleValue());
}
}
```
在这个例子中,我们使用 `nextDouble()` 方法生成一个 0 到 1 之间的随机小数,然后乘以 `(max - min)`,再加上 `min`,就可以生成 `min` 到 `max` 之间的随机小数了。最后,我们使用 `BigDecimal` 类进行精度控制,将小数点后的位数设置为 `scale`,并使用 `ROUND_HALF_UP` 模式进行四舍五入。
阅读全文