我想创建一个具有6位十进制数字的随机双精度,但这段代码总是这样做:/这段代码的问题在哪里?
double random = Double.parseDouble(String.format("%.6f", new Random().nextDouble()));
double SP = 0.0 + (random * (7.0 - 0.0));
这是此代码生成的随机数10次:
以下是@javaguy回答的完整代码和更正。 现在它可以工作:(但注意改变' StartNumber'以及' EndNumber'像这样:2.5)
import java.util.Random;
double random = new Random().nextDouble();
double N = SartNumber + (random * (EndNumber - StartNumber));
N = Double.parseDouble(String.format("%.6f", N)); //N Is Your Number
答案 0 :(得分:1)
格式化后,您将与double
相乘,因此您丢失了之前的格式,因此请在完成所有计算后,更改下面显示的代码,如下所示:
double random = new Random().nextDouble();
double SP = 0.0 + (random * (7.0 - 0.0));
SP = Double.parseDouble(String.format("%.6f", SP)); //now do format