PDA

Visualizza la versione completa : [C++] Conversione di un valore double in una stringa


paocat80
19-07-2007, 18:12
ciao ragazzi,
ho un problema in c++
abbastanza semplice ma per uno arrugginito come me sempra impossiblie.

devo inserire il contenuto di una variabile double in una stringa,
come posso fare?

se uso sprintf devo dichiarare a priori la dimensione del char[], ma non so a priori la dimensione del mio double e non so come fare altrimenti,


se c'è gia una discussione su questo mi dispaice ma non lo trovata,
nel caso potete indicarmela.

grazi
Paolo

XWolverineX
19-07-2007, 18:24
Crealo di una lunghezza adeguata, del tipo 100 (un numero di 100 cifre è semiquasiimpossibile da trovare)
Dopodichè ne misuri la lunghezza e ridimensioni la stringa

paocat80
19-07-2007, 18:29
altri metodi non ce ne sono?
altre funzioni, anche magari più semplici di sprintf?


cmq grazie

shodan
19-07-2007, 18:59
Per me la cosa migliore rimane usare gli stringstream visto che parli di C++


#include <sstream>

std::ostringstream oss;
double d = 0.9898;
oss << d;
std::string s = oss.str();

MItaly
19-07-2007, 19:23
Originariamente inviato da XWolverineX
Crealo di una lunghezza adeguata, del tipo 100 (un numero di 100 cifre è semiquasiimpossibile da trovare)

Più che altro bisognerebbe calcolare la massima lunghezza che può assumere un double (mantissa+esponente)... non credo che sia un calcolo difficile. In effetti però il suggerimento di shodan è ancora il più semplice ed efficace.

paocat80
19-07-2007, 20:43
Grazie a tutti
mi sa che userò il metodo di shodan.

grazie ancora

Loading