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";
}
Ustaw parametry i kliknij „Przetwórz”, aby zobaczyć wynik.

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!