Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-09-2007
jsanchez jsanchez is offline
Miembro
 
Registrado: may 2003
Posts: 90
Poder: 22
jsanchez Va por buen camino
dato real no exacto

Hola Foro,

Se me presenta el siguiente problema.

Lo primero decir que utilizo firebird 1.5 y 2.0

Tengo una tabla de prueba sencilla, con un campo codigo de tipo integer, llave primaria, y un campo Monto de tipo double precision.

Con el SQL Explorer hago lo siguiente.
En la data de la tabla pongo 1 para codigo y -5131.57 para Monto.
Luego Ejecuto las siguientes sentencias SQL
Código SQL [-]
UPDATE PRUEBA SET MONTO = MONTO + 5000.0000 WHERE CODIGO =1;
UPDATE PRUEBA SET MONTO = MONTO + 10.0500 WHERE CODIGO =1;
UPDATE PRUEBA SET MONTO = MONTO + 64.0000 WHERE CODIGO =1;
UPDATE PRUEBA SET MONTO = MONTO + 57.5200 WHERE CODIGO =1;

Y contrariamente a lo esperado el campo Monto no tiene el valor 0, si no 2.91322521661641E-13
He hecho otras pruebas con Numeric, me da el mismo resultado, y con float, fue peor porque el monto tenía un valor final de: 0.000178833011887036.

Estas pruebas las he hecho desde el SQL Explorer y desde el IBExpert.

Incluso utilizando el IBExpert para meter el primer registro, digito -5131.57, y si luego vuelvo a ese mismo campo no tiene ese valor, sino -5131.5699999999997, de todas maneras si hago un solo update por todo el monto -5131.57, si me deja el valor final en 0.

Alquien tiene idea de por qué puede pasar esto?

Muchas gracias por la ayuda.
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Timer exacto Alcon99 Varios 2 07-09-2006 01:06:23
¿Nº de decimales en un real? emtas Varios 3 27-02-2005 09:52:49
IP real... madman Internet 6 11-02-2005 19:26:17
real to string haffo Varios 5 12-11-2003 21:01:36
Caso real.... jafl1965 Humor 1 04-11-2003 10:36:05


La franja horaria es GMT +2. Ahora son las 08:44:12.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi