Rumah > Soal Jawab > teks badan
Random 类的实例 random
random.doubles(1, var1, var2 ).findFirst().orElse(0);
貌似只能生成 [var1, var2) 的随机数(左闭右开),
我想生成[var1, var2](左闭右闭)的该怎么写?
PHPz2017-04-18 09:51:20
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:
// 取[1.20, 1.30]
long n = random.longs(1, 120, 130 + 1).findFirst().orElse(0);
// 将n的小数点左移两位