Double boleh mewakili terlalu banyak tempat perpuluhan, jadi dari segi kebarangkalian, peluang untuk menjana var2 secara rawak adalah terlalu kecil, jadi saya cadangkan anda mengabaikannya. Jika anda hanya mengambil bilangan tempat perpuluhan yang tetap, seperti 2 tempat perpuluhan, anda boleh melakukan ini:
// 取[1.20, 1.30]
long n = random.longs(1, 120, 130 + 1).findFirst().orElse(0);
// 将n的小数点左移两位
Penyelesaian:
random.doubles(1, var1, var2 + Double.MIN_VALUE).findFirst().orElse(0);
Double boleh mewakili terlalu banyak tempat perpuluhan, jadi dari segi kebarangkalian, peluang untuk menjana var2 secara rawak adalah terlalu kecil, jadi saya cadangkan anda mengabaikannya. Jika anda hanya mengambil bilangan tempat perpuluhan yang tetap, seperti 2 tempat perpuluhan, anda boleh melakukan ini: