Qualcuno sa se esiste una funzione ke conti il numero d cifre di un qualsiasi valore double ke do in input (o anke solo quelle dopo la virgola)
Io stò provando a realizzarla ma ancora senza risultati
come compilatore uso il borland builder 6.0
io ho provato così ma c'è un problema:
il codice è questo:
il problema è che i double nn vengono memorizzati come li scriviamo noi ma con un esponente e una mantissafor (v = 1, val -= (int)val; val != 0.0; v++, cifre++, val = (val * 10) - (int)(val * 10))
io ho fatto la prova con il numero 5.15
nel 1° ciclo ottengo 5.15 - 5 (val - (int)val) = 0.15
0.15 != 0.0 e quindi conto (v++, cifre l'ho usata x incrementare il numero totale)
poi a val gli assegno 1.5 - (int)1.5 = 0.5
anke 0.5 != 0.0 e quindi conto
il problema arriva qui
quando faccio 5 - (int)5 m da come risultato 3.55271e-14 e quindi m sballa tutto, e questo penso xkè in C nn esiste un double formato da esponente + mantissa ke riesce a rappresentare xfettamente il numero ke io gli ho dato in input
come posso fare??