C/Visual C - Conversion entre variables

 
Vista:

Conversion entre variables

Publicado por Nelek (816 intervenciones) el 18/04/2006 10:38:58
Buenas a todos,

A raiz de respuestas de otros mensajes se que se puede transformar variables usando:

var1 = atoi (var2); //var2 es una string que es convertida en entero y guardada en var1

var1 = itoa (var2); //var2 es un entero que es convertido a string y guardado en var1

Y ahora vienen mi pregunta... Si logro hacer:

var1 = atol (var2); //var2 es un string que se transforma a log float o a double y se guarda en var1

POR QUE NO ME DEJA HACERLO A LA INVERSA?

var1 = ltoa (var2); //quiero transformar un double en string pero me da un fallo que me dice que la conversion es imposible porque se pierden datos... COMO LO SOLUCIONO?

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Conversion entre variables

Publicado por marcos (2 intervenciones) el 18/04/2006 15:28:38
un double? que no es ltoa para longs?, hay una que creo que es gcvt, o si no usa la de stdio que es...es...es... sprintf
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Conversion entre variables

Publicado por fernando.gomez (1603 intervenciones) el 18/04/2006 18:37:26
atol y ltoa es para long int, no long double ni long float. Las funciones gcvt y fcvt sirven, pero no son estándares. La función estándar es: strtod. ¿Por qué no siguieron la convención y la llamaron dtoa? Un misterio más del universo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Conversion entre variables

Publicado por nelek (816 intervenciones) el 19/04/2006 12:00:25
Gracias a ambos,

entonces, solo por confirmar...

var1 = strtod (var2); //transforma var2 de string a double y lo guarda en var1

var1 = dtostr (var2); //transforma var2 de double a string y lo guarda en var1

no?

Por cierto, lo del "atol" no sabia que era para long ints, lo supuse a raiz de:
int ->%d->atoi entonces, inocentemente pense...
long float->%lf->atol
(que aunque supong que %lf para double no es lo mejor, tambien lo uso para ellos, ya que el %d ya esta ocupado y no se que letra es, pero funciona)

Conclusion: A veces la logica funciona, pero otras no :P

Gracias de nuevo, y a ver si me podeis confirmar eso
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Conversion entre variables

Publicado por marcos (63 intervenciones) el 19/04/2006 14:42:43
esa no me la sabia...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar