Datos double en un texto plano

29/05/2007 - 13:38 por Rafa Piula | Informe spam
Hola a todos, resulta que tengo que hacer una aplicación para migrar
datos y el origen está en textos planos, con un chorreo de registros
en una misma línea, bueno, este no es el problema. Cuando se trata de
un campo numérico del tipo double, lo que me aparece es :(P.Ej. :)
"ÍÌÌÌ̬F@" y no puedo recogerlo de ninguna manera, He probado con todo
lo que se ocurría, parse, convert, etc pero no lo consigo.

Alguna sugerencia?

Gracias anticipadas
 

Leer las respuestas

#1 Juan Carlos Paramá
29/05/2007 - 14:11 | Informe spam
Hola Rafa,

En principio para que aparezca una representación codificada en vez del
valor numérico solo se me ocurren dos opciones:

Una: El programa lo ha guardado así. En este caso tendrás que buscar el
algoritmo que utiliza el programa antiguo y aplicarlo a la inversa para
obtener el valor numérico.

Segunda: El programa antiguo guarda directamente las posiciones de
memoria donde esta codificado el double (lo que es bastante probable en tu
caso por la coincidencia de longitud). Por ejemplo, la mayor parte de las
implementaciones de C++ utilizan el estándar IEEE 754 (que utiliza 8 bytes,
los mismos que tiene la cadena que envías) para representar un número en
coma flotante. Básicamente este formato define el número así:

1 bit de signo
11 de exponente
53 de mantisa

Con estos datos ya tienes una indicación del valor posible del double. Para
más información del estándar echa un vistazo a la página del IEEE
http://standards.ieee.org/.

En tu caso tendrás que convertir el código ASCII (cuidado con la página de
caracteres) y componer con los 8 códigos y un número de 64 bits. A partir
de ahí tendrás que seguir el estándar para calcular el valor en decimal de
esa representación de 64 bits.

Espero que te sirva.

Saludos,

Juan Carlos Paramá

"Rafa Piula" escribió en el mensaje de noticias
news:
Hola a todos, resulta que tengo que hacer una aplicación para migrar
datos y el origen está en textos planos, con un chorreo de registros
en una misma línea, bueno, este no es el problema. Cuando se trata de
un campo numérico del tipo double, lo que me aparece es :(P.Ej. :)
"ÍÌÌÌ̬F@" y no puedo recogerlo de ninguna manera, He probado con todo
lo que se ocurría, parse, convert, etc pero no lo consigo.

Alguna sugerencia?

Gracias anticipadas

Preguntas similares