Jak uzyskać losowe wartości Double
między 0.0 a 0.06 w Javie?Uzyskiwanie losowej liczby od 0 do 0,06 w Javie?
Odpowiedz
nextDouble()
zwraca losową liczbę zmiennoprzecinkową jednolicie rozdzielone między 0 i 1. po prostu przeskalować wynik następująco:
Random generator = new Random();
double number = generator.nextDouble() * .06;
Zobacz this documentation więcej przykładów losowych.
Może również zajść potrzeba sprawdzenia, że liczba jest mniejsza niż <0,06, operacje zmiennoprzecinkowe nie są dokładne [w tym sensie, że zawsze występuje pewien błąd/niepewność, który kumuluje się w wielu operacjach zmiennoprzecinkowych]. – Fakrudeen
Należy także wystrzegać się użycia nowej instancji 'Random' dla każdej liczby, której potrzebujesz. W tym sensie odpowiedź uckelmana poniżej jest lepsza, ponieważ pozwala uniknąć typowego błędu. – Joey
@Fodrudeen, wow, rzeczywiście. liczba = Math.min (liczba, 0.06); – Justin
trzeba spojrzeć na klasy
Random To daje losową podwoi się w przedziale [0,0.06):
double r = Math.random()*0.06;
podstawie this java doc (choć oglądać warunek brzegowy):
new Random().nextDouble() * 0.06
Aby uniknąć niedokładność wartości zmiennoprzecinkowych można użyć podwójnego liczenia/całkowitą, która jest dokładniejsza (przynajmniej na x86/platform x64)
double d = Math.random() * 6/100;
- 1. Tworzenie losowej liczby od 0 do 1 w trybie ciągłym
- 2. Uzyskiwanie liczby losowej podzielnej przez 16
- 3. Android: Uzyskiwanie losowej liczby z metody JNI
- 4. Wiąz generowania losowej liczby
- 5. Generowanie losowej liczby 2^30
- 6. Generowanie liczby losowej w zakresie?
- 7. Generowanie losowej liczby o losowej liczbie liczbowej w Objective-C
- 8. Uzyskiwanie łańcucha od liczby mnogiej do użycia w XML?
- 9. Generowanie liczby losowej N-cyfr
- 10. Zapytanie MySQL do przypisania unikatowej liczby losowej do każdego wiersza.
- 11. Generowanie liczby losowej w module jądra
- 12. Generowanie liczby losowej o nierównomiernym rozkładzie
- 13. uzyskiwanie wartości zmiennej losowej w PyMC3
- 14. Generowanie losowej liczby całkowitej w zakresie, który nie rozpoczyna się od zera
- 15. Konwersja daty do liczby całkowitej w Javie
- 16. ustawienie seed dla excel losowej liczby
- 17. Jak używać Pythona `secret` module do generowania losowej liczby całkowitej?
- 18. Oracle SQL porównać ciągi zawierające liczby, począwszy od 0 (zero)
- 19. Uzyskiwanie obrazu Mathematica w Javie
- 20. Uzyskiwanie losowej podwójnej wartości między -1 a 1
- 21. Generowanie losowej liczby całkowitej w zakresie w Haskell
- 22. Generowanie liczby losowej w C w zakresie i określonym kroku
- 23. generowanie liczby losowej o określonej dystrybucji w c
- 24. Uzyskiwanie użytkownika Tomcat w Javie
- 25. Uzyskiwanie hierarchii klas w Javie?
- 26. Animacja wysokości groupbox od 0 do auto
- 27. Jak wydrukować liczby od 1 do 100 w Prologu?
- 28. Dlaczego dane wyjściowe kodu C zaczynają odliczanie indeksu tablicy od liczby 1, a nie od 0?
- 29. Uzyskiwanie łącznej liczby elementów wyliczeniowych
- 30. Uzyskiwanie liczby wierszy dla tabeli w MySQL?
To nie jest tak proste, jak się wydaje. +1 –
Kiedy mówisz "między", czy chcesz, aby punkty końcowe były uwzględniane lub wykluczane jako możliwe wartości zwracane? – AakashM
Powinieneś wyjaśnić, czy to, czego chcesz, to liczby w [0,0.06] lub [0,0.06]. Ten pierwszy, w którym przedział jest zamknięty (to jest punkty końcowe) nie jest tym samym, co drugi, gdzie nigdy nie można uzyskać wartości 0,06. – uckelman