Sviluppo decimale di una frazione
1/3 diventa 0,(3) e 1/7 diventa 0,(142857), con il blocco che si ripete tra parentesi, mentre una frazione che termina, come 1/8, dà un 0,125 pulito. Saprà sempre se un decimale è esatto. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Numeratore
- 1
- Denominatore
- 8
- Valore
- 0,125
- Decimale
- 0.125
Lei ottiene il valore numerico diretto, una stringa decimale esatta costruita con una vera divisione lunga e, quando lo sviluppo si ripete all'infinito, il blocco periodico chiaramente indicato, così che 1/3 ritorna come 0.(3) invece di un vago 0.3333333333333333. Un denominatore uguale a zero viene rifiutato con un errore chiaro, perché la divisione per zero non è definita. Tutto funziona con aritmetica deterministica: nessuna rete, nessuna casualità e nessuna approssimazione oltre al valore finale in virgola mobile.
Perché uno sviluppo decimale è più di una divisione
Chiunque può digitare una divisione in una calcolatrice e leggere qualche cifra sullo schermo. Il problema è che la calcolatrice decide silenziosamente quante cifre mostrare, e ciò che nasconde è spesso la parte che conta. Un terzo non è 0.3333333333 — è 0.3 che si ripete per sempre, e trattare la visualizzazione troncata come il valore reale introduce un errore di arrotondamento che si accumula in ogni passaggio successivo di un calcolo.
Nel momento in cui un resto compare per la seconda volta, lo sviluppo è garantito entrare in ciclo da quel punto in poi, e il blocco periodico viene riportato esattamente, tra parentesi. Le frazioni esatte come 1/8 ritornano come una stringa finita e pulita, senza riempimenti né cifre finali spurie, così Lei sa sempre se il decimale che ha in mano è esatto oppure l'abbreviazione di uno infinito.
Come funziona l'algoritmo
I segni vengono gestiti separatamente così da dividere la magnitudine con semplice aritmetica intera. La parte intera deriva da un'unica divisione con arrotondamento per difetto; la parte frazionaria viene poi prodotta cifra per cifra con il classico ciclo imparato a scuola — moltiplicare il resto per dieci, prendere la cifra successiva, conservare il nuovo resto. Una mappa che associa ogni resto alla posizione in cui è apparso la prima volta rileva il ciclo in tempo costante, così una frazione come 1/7 restituisce 0.(142857) dopo pochi passaggi invece di vagare all'infinito.
Lo sviluppo ha un limite rigido di duecento cifre frazionarie; se il ciclo non si è chiuso entro quel limite, la stringa viene segnata come troncata invece di fingere di essere esatta. Il valore numerico diretto, calcolato una sola volta in virgola mobile, è incluso per chi ha bisogno soltanto di un numero.
Dove si inserisce in una pipeline
La conversione da frazione a decimale compare ovunque i numeri razionali viaggino tra sistemi: piattaforme educative che devono mostrare risposte esatte, motori di prezzo che memorizzano i costi unitari come frazioni e hanno bisogno di decimali per le fatture, strumenti di misura che convertono frazioni imperiali in pollici decimali, e suite di test che verificano una libreria di matematica simbolica rispetto a un riferimento affidabile. In ogni caso il pericolo è lo stesso: un arrotondamento invisibile che sopravvive fino a un documento o a un database.
Nulla di ciò che invia viene conservato: la frazione viene convertita e scartata, e viene restituito solo lo sviluppo.
Casi d'uso
Mostrare risposte esatte nel software didattico
Mostri 1/7 come 0.(142857) con il blocco periodico indicato, invece di uno 0.142857 silenziosamente arrotondato che segnerebbe come sbagliata la risposta corretta di uno studente.
Convertire frazioni archiviate per fatture e report
Converta costi unitari razionali come 7/12 nella forma decimale sapendo esattamente dove lo sviluppo si ripete, prima di formattare gli importi.
Verificare una libreria di matematica simbolica
Confronti l'output decimale della Sua libreria con un riferimento deterministico di divisione lunga in una suite di test, frazione per frazione.
Domande frequenti
Quanto costa?
È gratuita anche nel Suo browser su questa pagina.
Cosa succede se il denominatore è zero?
Le richieste con denominatore zero non vengono addebitate.
Come vengono rappresentati i decimali periodici?
Il blocco periodico è racchiuso tra parentesi nella stringa decimale — 1/3 diventa 0.(3) — e viene restituito anche separatamente nel campo repeating. Le frazioni esatte non hanno affatto quel campo.
Esiste un limite alla lunghezza dello sviluppo?
Sì: la parte frazionaria ha un limite di 200 cifre. Se nessun ciclo si chiude prima, la stringa termina con puntini di sospensione e il risultato viene segnalato come troncato invece di essere presentato come esatto.
Posso inviare i numeri come stringhe?
Sì. Le stringhe numeriche come "22" e "7" vengono accettate e convertite, ma devono essere interpretabili come numeri finiti, altrimenti la richiesta viene rifiutata.
L'input viene conservato da qualche parte?
No. Il numeratore e il denominatore vengono elaborati in memoria e scartati; viene restituito solo lo sviluppo decimale.
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/math/decimal \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"numerator":1,"denominator":8}'const res = await fetch("https://api.kit.forhosting.com/math/decimal", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"numerator": 1,
"denominator": 8
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/decimal",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"numerator": 1,
"denominator": 8
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/decimal", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"numerator":1,"denominator":8}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"numerator":1,"denominator":8}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/decimal", 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
{
"numerator": 1,
"denominator": 8
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.decimal",
"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
L'API di sviluppo decimale prende una frazione — un numeratore e un denominatore — e restituisce l'aspetto di quella frazione come numero decimale. Lo stesso codice che risponde all'API viene eseguito gratuitamente nel Suo browser su questa pagina, così può verificare una singola frazione a mano e pagare solo quando automatizza la conversione di migliaia di frazioni.
Perché uno sviluppo decimale è più di una divisione
Questo endpoint esegue la divisione lunga come farebbe sulla carta, conservando ogni resto intermedio, e osserva quei resti per individuare una ripetizione.
Come funziona l'algoritmo
L'input viene prima validato: entrambi i campi devono essere numeri finiti e il denominatore non può essere zero, perché la divisione per zero non ha un risultato definito e la richiesta viene rifiutata con un errore invalid_input invece di un infinito fuorviante.
Dove si inserisce in una pipeline
Far passare la conversione attraverso questo endpoint Le fornisce una stringa deterministica e ripetibile che può confrontare, archiviare e verificare, oltre a un segnale esplicito quando lo sviluppo reale si ripete. Costa $0.002 a richiesta tramite l'API, senza sovrapprezzo per unità, ed è gratuita anche nel Suo browser su questa pagina per i controlli occasionali.