C'è un modo semplice per calcolare un valore decimale in una frazione?
Se si limita i valori decimali per un certo numero di punti decimali si potrebbe creare una tabella di ricerca.
0.3333, 1/3
0.6666, 2/3
0.0625, 1/16
0.1250, 1/8
0.2500, 1/4
0.5000, 1/2
0.7500, 3/4
etc...
Quindi, se l'input dell'utente 0.5 si pad con 0 di fino a che non hai 4 cifre decimali. Dovresti quindi utilizzare la tabella di ricerca per restituire "1/2". La tabella di ricerca dovrebbe probabilmente essere un dizionario di sorta.
Non sarebbe neanche troppo difficile fare stime. Ad esempio, se l'utente ha inserito 0,0624, è possibile selezionare facilmente il valore nella tabella più vicina a tale decimale. In questo caso restituirebbe "1/16".
Non lasciare che la digitazione/immissione del set finito di coppie di decimali/frazione ti spaventi (non è molto grande a seconda della precisione scelta).
Se tutto il resto fallisce, forse una ricerca su google rivelerebbe una libreria che fa questo tipo di questo per voi.
Hrm ... Perché i downvotes? – user72491