PDA

Visualizza la versione completa : [C] problema strtod e conversione numeri lunghi in double!!


targus
16-11-2009, 18:28
Ciao ragazzi,
ho un grande problema che non riesco a risolvere:
praticamente devo convertire dei numeri presi da una stringa in double. Uso la funzione strtod ma quando ho a che fare con numeri lunghi più di 15 caratteri la conversione sballa.

ad esempio se devo convertire un numero di 20 cifre tutte di valore 2,la strtod fino alla 15esima cifra mi ritorna il valore 2 poi sballa con numeri a caso....

qualcuno sa il perche?
ha qualche bug?

grazie

shodan
16-11-2009, 18:54
Credo tu abbia superato il limite del double.
Al massimo puoi usare DBL_DIG cifre decimali, come da tabella:
http://www.cplusplus.com/reference/clibrary/cfloat/

Per gestire numeri di quel tipo devi usare librerie apposite, che però non so indicarti.

targus
17-11-2009, 11:53
grazie, pero' se la precisione di un double è di circa 15 cifre come mai la strtod non mi ritorna errore?

Loading