private static double getSliceQuantityinRange(double min, double max) {
double range = max - min;
double scaled = randomGenerator.nextDouble() * range;
double shifted = scaled + min;
return Double.valueOf((df.format(shifted)));
}
最小值和最大值将以百万为单位。这给出了一个范围之间的随机数。但我想要的是步长为 100,000 ( 100000) 的随机数。如何实现这一目标?
最佳答案
这是一个例子:
public static void main(String[] args) {
System.out.println(getSliceQuantityinRange(35000000, 52000000, 100000));
}
private static double getSliceQuantityinRange(double min, double max, double step) {
int range = (int)((max - min) / step);
double scaled = randomGenerator.nextInt(range) * step;
double shifted = scaled + min;
return Double.valueOf((df.format(shifted)));
}
关于java - 以特定数字为增量生成双随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33359359/