per trasformare un numero con la virgola in frazione avevo già creato un algoritmo una volta. E avevo implementato anche la semplificazione. se non ricordo male prima trasformavo il numero decimale in stringa e poi ricopiavo la stringa dopo aver eliminato il carattere della virgola. Da lì ritrasformavo la stringa in un numero int. In base alla posizione della virgola nella prima stringa poi creavo un denominatore appropriato.