Generatore di numero decimale casuale
Con gli estremi 0 e 1 e il seme 42 ottiene sempre 0,2523451748: stessi estremi, stesso seme e stessi decimali ripetono la stessa estrazione. Utile per le soluzioni degli esercizi, la probabilità in classe e i dati di esempio. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Minimo
- 0
- Massimo
- 1
- Seme
- 42
- Valore
- 0,2523451748
- Precisione
- 10
- Intervallo unitario
- 0,2523451748
Questa capacità restituisce un unico decimale uniforme tra un limite minimo obbligatorio e un limite massimo obbligatorio. L'estrazione proviene da un generatore congruenziale lineare con seme, così gli stessi limiti, lo stesso seme e la stessa precisione producono sempre lo stesso numero.
Come nasce un decimale casuale ripetibile
Il generatore parte dal seme che lei sceglie e produce una frazione compresa tra 0 e 1, dove lo 0 è possibile e l'1 no. Questa frazione viene poi distesa sul suo intervallo: al minimo si aggiunge la frazione moltiplicata per la distanza tra massimo e minimo. Per questo, prima dell'arrotondamento, il risultato può coincidere con il minimo ma resta sempre sotto il massimo. Infine il numero viene arrotondato ai decimali scelti, da 0 a 12, dieci se non indica nulla. Con estremi 0 e 1 e seme 42 si ottiene sempre 0,2523451748.
Quando serve e gli errori più comuni
Un decimale che si può rifare serve quando qualcun altro deve controllarlo: la chiave di un esercizio di probabilità, un foglio di calcolo da confrontare, dati di esempio per una simulazione o un controllo automatico che attende un valore fisso. L'errore più frequente è usare sempre lo stesso seme quando servono estrazioni diverse: ogni seme dà un solo numero, quindi per una serie basta avanzare il seme di uno alla volta. Conviene anche annotare il seme accanto al risultato, così chiunque può dimostrare in seguito di aver ripetuto la stessa estrazione.
Dove un'estrazione decimale ripetibile giustifica l'uso
I test software sono il primo pubblico. Una suite che ha bisogno di un decimale tra 0.15 e 0.85 non deve chiamare la fonte casuale dell'ospite e poi fissare un numero che si muove; deve inviare un seme fisso e affermare il valore pubblicato. Le piattaforme didattiche sono il secondo.
I corsi di probabilità chiedono agli studenti un decimale uniforme su un intervallo e poi una media o una copertura; un generatore con seme consente al docente di pubblicare l'estrazione attesa accanto al foglio invece di discutere quale calcolatrice abbia lampeggiato. I lavori di simulazione e di dati fittizi sono il terzo. Se Le servono molte estrazioni indipendenti, avanzi il seme Lei stesso (seed più uno, seed più due) e raccolga i valori, oppure richiami con un altro seme documentato.
Tenga le richieste piccole, fissi il valore arrotondato nei test e otterrà un decimale ripetibile senza erigere un runtime statistico proprio.
Casi d'uso
Estrazioni uniformi in aula
Pubblichi il decimale atteso accanto a un foglio di probabilità così che ogni studente e la chiave delle risposte condividano un'unica estrazione con seme.
Serie fittizie di sensori e prezzi
Associ l'identificatore di uno scenario a un seme e ottenga una temperatura, un peso o un prezzo unitario stabile dentro un intervallo numerico documentato.
Domande frequenti
Perché il limite minimo deve essere minore del massimo?
Un'estrazione uniforme richiede una larghezza di intervallo positiva.
È una fonte casuale crittografica?
No. Il generatore è un flusso congruenziale lineare breve e pienamente specificato, pensato per test, didattica e dati di prova. Non lo usi per chiavi, token né per nulla che debba restare imprevedibile di fronte a un avversario.
Quanti decimali può avere il numero?
Da 0 a 12. Se non sceglie nulla, il numero ha dieci decimali. L'arrotondamento avviene solo alla fine, dopo che l'estrazione è stata collocata tra i suoi due estremi.
Può uscire esattamente il valore massimo?
Prima dell'arrotondamento no: il risultato può coincidere con il minimo, ma resta sempre sotto il massimo. L'estrazione avviene in un intervallo che include l'estremo inferiore ed esclude quello superiore.
Perché lo stesso seme dà sempre lo stesso numero?
Perché il generatore è fisso e fa una sola estrazione: con gli stessi estremi, lo stesso seme e gli stessi decimali il risultato è identico. Così un docente può pubblicare il valore atteso accanto all'esercizio.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/stat/decimal-random-number-generator \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"minimum":0,"maximum":1,"seed":42}'const res = await fetch("https://api.kit.forhosting.com/stat/decimal-random-number-generator", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"minimum": 0,
"maximum": 1,
"seed": 42
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/decimal-random-number-generator",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"minimum": 0,
"maximum": 1,
"seed": 42
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/decimal-random-number-generator", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"minimum":0,"maximum":1,"seed":42}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"minimum":0,"maximum":1,"seed":42}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/decimal-random-number-generator", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"minimum": 0,
"maximum": 1,
"seed": 42
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.decimal_random_number_generator",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Se il limite minimo non è strettamente minore del massimo, l'attività fallisce con invalid_input invece di inventare un ordine.
Come un generatore congruenziale lineare con seme diventa un decimale
Un generatore di numero decimale casuale che non si può ripetere è un passivo nei test, nelle chiavi dei compiti e nei taccuini di simulazione. Fa avanzare un generatore congruenziale lineare a 32 bit le cui costanti sono la coppia 1664525 e 1013904223 di Numerical Recipes, prese modulo due alla trentadue. Un passo della ricorrenza produce un intero senza segno X, che viene diviso per due alla trentadue per ottenere un campione u dell'intervallo unitario, nell'intervallo semiaperto da zero incluso a uno escluso. Prima di qualsiasi arrotondamento, il decimale grezzo vive quindi nell'intervallo semiaperto che include il minimo ed esclude il massimo. Questo endpoint rifiuta quindi la fonte casuale dell'ospite e l'orologio di sistema. Quel campione unitario è poi scalato sull'intervallo del chiamante dalla mappa affine valore uguale a minimum più u per la larghezza maximum meno minimum. Lo stesso seme, gli stessi limiti e la stessa precisione producono sempre lo stesso unit_interval e lo stesso value su ogni runtime che implementa la moltiplicazione-addizione a 32 bit allo stesso modo, che è esattamente il contratto di cui ha bisogno un'asserzione di integrazione continua. Nulla nel percorso è stocastico a livello del sistema operativo; due worker cui si dà lo stesso corpo JSON non possono divergere.
Contratto di ingresso, limiti, precisione e comportamento di errore
Limiti uguali e l'intervallo invertito sono entrambi rifiutati, perché una larghezza nulla o negativa non definisce un'estrazione uniforme e inventare uno scambio nasconderebbe un errore del chiamante. L'arrotondamento dopo la scala può cadere esattamente su un estremo; tratti il valore visualizzato come un decimale con le cifre richieste, non come una promessa che l'estremo superiore esclusivo sopravviva a ogni arrotondamento. La convalida fallita non è addebitata. Accoppi il seme ripetuto con i propri registri se deve dimostrare che una ripetizione successiva ha usato lo stesso flusso. Invii con POST un corpo JSON con tre campi obbligatori. minimum è il limite inferiore dell'intervallo e può arrivare anche come min, lower o lo. maximum è il limite superiore e può arrivare anche come max, upper o hi. seed è il seme del generatore e può arrivare anche come key o salt. Un campo facoltativo precision, accettato anche come decimals, places o digits, imposta il numero di cifre frazionarie del decimale restituito; vale dieci per omissione e deve essere un intero da zero a dodici. Ogni campo numerico può essere un numero JSON o una stringa numerica; valori non finiti, stringhe vuote e campi obbligatori assenti falliscono con invalid_input che nomina il campo. La regola geometrica dura è che minimum deve essere strettamente minore di maximum. In caso di successo il corpo ripete il minimum e il maximum analizzati, il seme a 32 bit senza segno che è davvero entrato nella ricorrenza e la precisione applicata. Restituisce anche unit_interval, la u grezza arrotondata a dodici cifre per ispezione, value, il decimale scalato arrotondato alla precisione richiesta, e una breve stringa formula che riformula la mappa affine. Le chiamate riuscite usano il prezzo base pubblicato $0.002.
Dove un'estrazione decimale ripetibile giustifica l'uso
Ogni chiamata API riuscita costa $0.002; un ingresso non valido non consuma saldo. Lo strumento non è una fonte casuale crittografica, né un generatore di vettori a molte campionature, né un sostituto di una libreria Monte Carlo completa: restituisce un decimale per richiesta.
Casi di integrazione
Fixture di test ripetibili
Fissi un seme e dei limiti nell'integrazione continua così che un test unitario attenda sempre lo stesso decimale invece di un'istantanea casuale dell'ospite che cambia.
Domande tecniche
Come sceglie un valore questo generatore di numero decimale casuale?
Fa avanzare un generatore congruenziale lineare a 32 bit di Numerical Recipes dal Suo seme, proietta lo stato successivo su un campione u dell'intervallo unitario in [0, 1), poi restituisce minimum + u × (maximum − minimum), arrotondato alla precisione richiesta.
Lo stesso seme produce sempre lo stesso decimale?
Sì. Il percorso non legge l'orologio e non chiama Math.random. Gli stessi minimum, maximum, seed e precision producono sempre lo stesso unit_interval e lo stesso value.
Quanto costa il generatore di numero decimale casuale?
Lo strumento del browser è gratuito. Le richieste API usano il saldo prepagato KIT a $0.002 per chiamata riuscita; un ingresso non valido non è addebitato.