da karl » 23/10/2005, 08:55
Come nell'altro caso prepara un form con 2 textbox e 1 commandbutton.
La procedura da inserire nel commandbutton e':
<b>
a = Len(Text1.Text) - InStr(Text1.Text, ".")
b = Text1.Text
c = CVar(b) * (10 ^ a)
b1 = CVar(c): a1 = CVar(10 ^ a): a3 = a1
While (a1 <> b1)
If (a1 > b1) Then a1 = a1 - b1 Else b1 = b1 - a1
Wend
a2 = CVar(a3) / a1: b2 = CVar(c) / a1
Text2.Text = CStr(b2) + "/" + CStr(a2)
</b>
Al momento del "Run" inserisci il numero decimale da convertire
nel text1,premendo il command si avra'nel text2 la frazione
decimale equivalente semplificata.
Ho usato il "." come separatore decimale:se invece vuoi adoperare
la "," devi solo cambiare nella prima riga della procedura il punto
con la virgola.
Per il primo programma ho notato che per numeri grandi
si puo' andare in "overflow".Conviene pertanto sostituire
CInt con CDbl o con Cvar.
Ciao.