gpt4 book ai didi

java - 在java中设置随机数的精度?

转载 作者:行者123 更新时间:2023-12-01 07:28:51 25 4
gpt4 key购买 nike

我想知道是否能够设置生成的随机双数的准确性。

Random generator = new Random();
double randomIndex = generator.nextDouble()*10000;

这会产生 10000 以内的随机数。我怎样才能将精度设置为 4?

最佳答案

有几件事。首先,你说的是“精确度”,而不是“准确度”。其次,您需要澄清为什么要这样做,因为正确的答案将取决于它。

如果您只想显示具有该精度的数字,则这是格式问题。您可以使用,例如System.out.printf("%.4f", value)String.format() .

如果您尝试生成具有该精度的数字,您可以通过执行以下操作来近似(为简单起见,舍入):

double value = (int)(generateor.nextDouble() * 10000.0) / 10000.0;

或者,如果您希望范围为 0-10000 而不是 0-1:

double value = (int)(generateor.nextDouble() * 100000000.0) / 10000.0;

由于 float 的存储方式,这不会精确,但对于您的目的来说,它可能足够接近。如果您需要精确,您需要存储为整数,例如:

int value = (int)(generator.nextDouble() * 10000.0);

然后你可以在内部对其进行操作,并显示为:

System.out.printf("%.4f", value / 10000.0);

如果您希望范围为 0-10000,请调整上面的乘法因子。

如果您只是想生成 [0, 10000) 范围内的数字,则可以使用 Random.nextInt(int)指定一个范围,或者简单地将值转换为上面的 int(可选舍入)。

关于java - 在java中设置随机数的精度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20036974/

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