📅  最后修改于: 2023-12-03 14:42:15.836000             🧑  作者: Mango
本文介绍Java中使用Random和ThreadLocalRandom类产生保留两位小数的随机双精度浮点数。
在Java中,可以使用java.util.Random类来产生随机数。Random类提供了一系列的方法来生成不同类型的随机数,包括整数、长整数、浮点数等。下面的示例代码展示了如何使用Random类生成保留两位小数的随机双精度浮点数:
import java.util.Random;
public class RandomDemo {
public static void main(String[] args) {
Random random = new Random();
double num = Math.round(random.nextDouble() * 100) / 100.0; // 生成保留两位小数的随机双精度浮点数
System.out.println(num);
}
}
代码输出示例:
0.55
代码解释:
new Random()
创建一个 Random
的实例。random.nextDouble()
产生一个 [0.0, 1.0) 之间的随机浮点数。Java 7引入了一个新的类 ThreadLocalRandom
,它是 Random
的一个线程本地化版本。该类提供了更好的并发性能,并且可以生成高质量的伪随机数。下面的示例代码展示了如何使用ThreadLocalRandom类生成保留两位小数的随机双精度浮点数:
import java.util.concurrent.ThreadLocalRandom;
public class ThreadLocalRandomDemo {
public static void main(String[] args) {
double num = Math.round(ThreadLocalRandom.current().nextDouble() * 100) / 100.0; // 生成保留两位小数的随机双精度浮点数
System.out.println(num);
}
}
代码输出示例:
0.47
代码解释:
ThreadLocalRandom.current()
获取当前线程的 ThreadLocalRandom
实例。nextDouble()
产生一个 [0.0, 1.0) 之间的随机浮点数。以上示例代码中,数值100为两位小数的位数,如果需要保留更多位数,可以将数值100改为相应的数值。
本文介绍了Java中使用Random和ThreadLocalRandom类产生保留两位小数的随机双精度浮点数的方法。在实际开发中,可以根据需要选择合适的类来生成随机数。同时,可以根据具体的需求进行参数的调整,以生成符合要求的随机数。