¿Hay una manera fácil de calcular un valor decimal en una fracción?
Si limita sus valores decimales a un cierto número de puntos decimales se puede crear una tabla de consulta.
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...
lo tanto, si la entrada del usuario 0.5 que rellenarlo con 0 hasta que llegó de 4 decimales. Luego usaría la tabla de búsqueda para devolver "1/2". La tabla de búsqueda probablemente sea un diccionario de géneros.
No sería demasiado difícil de hacer tampoco. Por ejemplo, si el usuario ingresó 0.0624, puede seleccionar fácilmente el valor en la tabla más cercana a ese decimal. En este caso, devolvería "1/16".
No deje que te asuste/ingrese el conjunto finito de pares decimales/fracciones (en realidad no es tan grande dependiendo de la precisión que elija).
Si todo lo demás falla, quizás una búsqueda en Google revele una biblioteca que hace este tipo de esto por usted.
Hrm ... ¿Por qué los votos a favor? – user72491