Sprytne Okazje — promocje, kody rabatowe i wyprzedaże

Generator losowych liczb dziesiętnych

Generuj losowe liczby dziesiętne (float) w zadanym zakresie z kontrolą liczby miejsc po przecinku. Do testów i statystyki.

Bezpieczne (SSL)
Przetwarzanie Lokalne
100% Darmowe
Instrukcja
  • 1
    Wprowadź dane
    Wpisz treść, wklej tekst lub załaduj plik z dysku.
  • 2
    Kliknij przycisk
    Narzędzie natychmiast przetworzy Twoje dane w przeglądarce.
  • 3
    Pobierz wynik
    Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
function runTool() {
  return "Wynik gotowy w 0.1s";
}

Wylosowano

20 liczb

Miejsca dziesiętne

2

Zakres

0,00 – 100,00

Średnia

46,08

z bieżącego zestawu

Unikalne

Nie

Losowanie

Bezpieczny
  • 85,91
  • 12,75
  • 44,53
  • 25,06
  • 25,50
  • 5,96
  • 70,10
  • 9,14
  • 0,66
  • 86,71
  • 94,04
  • 45,12
  • 35,55
  • 91,01
  • 73,91
  • 3,34
  • 66,10
  • 78,51
  • 24,98
  • 42,72

Kopiowanie zachowuje kropkę dziesiętną (format wejściowy dla programów i JSON); wersja „z przecinkiem” pasuje do polskiego Excela.

Miejsca po przecinku Pula wartości w przedziale [0, 1) Przykładowa wartość Typowe zastosowanie
1 10 0,5 Procenty, oceny, tempo wzrostu
2 100 0,47 Ceny i kwoty (grosze)
3 1 000 0,123 Kursy walut, pomiary
4 10 000 0,4711 Wagi, dokładne pomiary
5 100 000 0,47113 Współrzędne uproszczone
6 1 000 000 0,471135 Symulacje, obliczenia naukowe

Pula to liczba różnych wartości, jakie mieszczą się w przedziale [0, 1) przy danej precyzji: 2 miejsca = 100 wartości (0,00–0,99), 3 miejsca = 1 000, 4 miejsca = 10 000 i tak dalej. Domyślne ustawienia (zakres 0–100, 2 miejsca) dają 101 × 100 = 10 100 możliwych liczb — tyle samo (maksymalnie) wylosujesz w trybie „Unikalne”.

Warto wiedzieć — losowe liczby dziesiętne w praktyce

Precyzja ogranicza pulę

Każde dodane miejsce po przecinku mnoży pulę możliwych wartości ×10. W przedziale [0, 1) przy 2 miejscach mieszczą się dokładnie 100 wartości (0,00–0,99), a przy 3 miejscach już 1 000 (0,000–0,999). Przy opcji „Unikalne” nie wylosujesz więc więcej liczb, niż wynosi pula — komunikat błędu podpowie, co poszerzyć: zakres, precyzję albo liczbę wartości.

Kropka czy przecinek?

Wynik i pierwsza kopia używają kropki — to format przyjmowany przez programy, JSON i arkusze w wersji angielskiej. Drugi zestaw przycisków („z przecinkiem”) przygotowuje liczby pod polskiego Excela i raporty, gdzie przecinek jest separatorem dziesiętnym.

Bezpieczny czy szybki generator?

Włączony „Bezpieczny generator” losuje przez random_int (generator kryptograficzny) — wybierz go do konkursów, losowań nagród i wszędzie tam, gdzie nieprzewidywalność jest ważna. Wyłączony tryb używa szybszego mt_rand, gdy zakres się mieści; przy bardzo szerokich zakresach narzędzie i tak zawsze przełącza się na bezpieczne losowanie.

Wykluczenia z puli

W polu „Wyklucz” podaj liczby rozdzielone spacją, przecinkiem lub średnikiem (np. 13.37, 50). Wartości spoza zakresu są ignorowane, a wykluczone nie pojawią się w wyniku — przydatne, gdy jakaś liczba ma „trafić się” z definicji nigdy.

Oceń to narzędzie:

Powiązane narzędzia

Inne narzędzia, które mogą Ci się przydać

Generator losowych liczb dziesiętnych — float i double online

Generator losowych liczb dziesiętnych generuje losowe liczby zmiennoprzecinkowe (float/double) w podanym zakresie z wybraną precyzją (liczbą miejsc po przecinku). Idealne do testowania algorytmów, danych demo i symulacji numerycznych.

Czym są liczby zmiennoprzecinkowe (float)?

Liczby zmiennoprzecinkowe (ang. floating-point numbers) to komputerowa reprezentacja liczb rzeczywistych z częścią dziesiętną. Standardy: float (32-bit) — precyzja ok. 7 cyfr, zakres ±3.4×10^38. double (64-bit) — precyzja ok. 15–16 cyfr, zakres ±1.8×10^308. W JavaScript wszystkie liczby to de facto 64-bitowe double IEEE 754. Problem: niektóre liczby dziesiętne nie mają dokładnej reprezentacji binarnej — np. 0.1 + 0.2 ≠ 0.3 w większości języków (efekt zaokrąglenia IEEE 754).

Jak generować losowe liczby dziesiętne?

JavaScript: Math.random() zwraca liczbę z zakresu [0, 1) — do wybranego zakresu: min + Math.random() * (max - min). Z precyzją: parseFloat((min + Math.random() * (max - min)).toFixed(2)) — 2 miejsca po przecinku. Python: import random; random.uniform(min, max) — losowa liczba float. round(random.uniform(-10, 10), 3) — 3 miejsca. NumPy (Python): np.random.uniform(low=0, max=1, size=100) — tablica 100 wartości. Generator oferuje GUI do ustawienia wszystkich parametrów bez pisania kodu.

Zastosowania losowych liczb dziesiętnych

Losowe floaty są potrzebne w: testowaniu algorytmów numerycznych (sortowania, optymalizacji, ML), generowaniu danych testowych (ceny, wagi, wymiary), symulacjach Monte Carlo (matematyczne obliczenia przez losowe próbkowanie), grafice komputerowej (shading, noise, particle systems), grach komputerowych (ruch cząsteczek, losowe zdarzenia), kryptografii (seed dla CSPRNG — choć Math.random() nie jest kryptograficznie bezpieczny).

Rozkłady statystyczne dla losowych liczb

Math.random() generuje rozkład jednorodny (uniform) — każda wartość ma takie samo prawdopodobieństwo. Inne rozkłady: Normalny (Gaussa) — Box-Muller transform: Math.sqrt(-2*Math.log(Math.random())) * Math.cos(2*Math.PI*Math.random()). Wykładniczy: -Math.log(1-Math.random()) / lambda. Bernoulliego (0 lub 1 z prawdopodobieństwem p): Math.random() < p ? 1 : 0. Generator tworzy liczby z rozkładu jednorodnego — dla innych rozkładów użyj biblioteki statystycznej.

Najczęściej zadawane pytania

Jak wygenerować losową liczbę float w Pythonie?

import random; x = random.uniform(0, 100) — losowa liczba z zakresu [0, 100). Z zaokrągleniem: round(random.uniform(-5, 5), 2). Dla tablicy (NumPy): import numpy as np; arr = np.random.uniform(0, 1, size=1000) — 1000 losowych float z zakresu [0,1). Dla rozkładu normalnego: np.random.normal(mean, std, size=100).

Dlaczego 0.1 + 0.2 ≠ 0.3 w JavaScript?

To efekt IEEE 754 double precision floating point — niektóre ułamki dziesiętne nie mają dokładnej reprezentacji binarnej. 0.1 w binarnym to nieskończony ułamek (jak 1/3 w dziesiętnym). Wynik: 0.1 + 0.2 = 0.30000000000000004. Rozwiązania: parseFloat((0.1+0.2).toFixed(10)) — zaokrągl do 10 miejsc, Math.round((0.1+0.2)*100)/100 — mnóż i dziel, biblioteka Decimal.js dla finansów. Zawsze zaokrąglaj wyniki operacji float przed porównaniem.

Jak wygenerować losowy float w określonym rozkładzie (np. normalnym)?

Rozkład normalny (JavaScript, Box-Muller): function randn(mean, std) { let u = 1 - Math.random(); let v = Math.random(); let z = Math.sqrt(-2*Math.log(u)) * Math.cos(2*Math.PI*v); return mean + z * std; }. Przykład: randn(170, 10) — losowy wzrost (mean 170 cm, std 10 cm). Python: random.gauss(170, 10) lub np.random.normal(170, 10).

Jaka jest różnica między Math.random() a crypto.getRandomValues()?

Math.random(): pseudo-losowy, szybki, NIE kryptograficznie bezpieczny, ziarno zależne od silnika JS. crypto.getRandomValues(): kryptograficznie bezpieczny CSPRNG, wolniejszy, używaj do: tokenów, haseł, kluczy. Przykład crypto: const arr = new Uint32Array(1); crypto.getRandomValues(arr); const rand = arr[0] / 0xFFFFFFFF; — float [0,1). Generator używa Math.random() — dla danych testowych jest wystarczający.

Jak wylosować liczby float bez powtórzeń?

Technicznie niemożliwe dla kontinuum — prawdopodobieństwo powtórzenia precyzyjnego float jest astronomicznie małe. Dla dyskretnych wartości z precyzją N miejsc po przecinku: wygeneruj wszystkie możliwe wartości (np. [0, 0.1, 0.2...] dla N=1), następnie przetasuj (Fisher-Yates shuffle). Praktyczne: przy małej liczbie floatów z małą precyzją (np. 10 liczb z 1 miejscem z zakresu 0-5) — użyj Set i pętli while z dodawaniem dopóki nie masz N unikalnych.

Zainstaluj Webp.pl Miej narzędzia we własnej kieszeni!