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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-04-2006
IVAND IVAND is offline
Miembro
 
Registrado: may 2003
Ubicación: ECUADOR
Posts: 523
Poder: 21
IVAND Va por buen camino
Cuando cero - cero es 5.755533321E-13

Hola a todos

He creado un Sp que me saca el saldo anterior de un periodo (sumando y restando debe-haber los campos estan definidos como numeric (15,2) ) unos campos me retornan valores medios diabolicos como los indicado en el mensaje aque se debe esto y como debo corregirlos

Nota : Repito los campos son numeric (15,2) los valores son ingresados con dos decimales no hay posibilidad de ingresar mas de dos digitos

Cuando resto (saldo_ant+debe-haber)<>0 los campos con supuestos ceros se muestran me posiciono en este campo Saldo_ant (se muestran los numeros indicados)

Que puedo hacer


De antemano gracias
__________________
IVAND
Responder Con Cita
  #2  
Antiguo 10-04-2006
Athanatos Athanatos is offline
Miembro
 
Registrado: ago 2005
Posts: 33
Poder: 0
Athanatos Va por buen camino
En algún momento se está contaminando con cálculos en punto flotante. O bien encuentras lo que está contaminando tus cálculos o reemplazas tus comparaciones con 0 con algo asi (x>-0.1E-6) and (x<0.1E-6) por ejemplo.
Responder Con Cita
  #3  
Antiguo 11-04-2006
Avatar de Ricard Rabassó
Ricard Rabassó Ricard Rabassó is offline
Registrado
 
Registrado: ene 2006
Ubicación: Barcelona
Posts: 3
Poder: 0
Ricard Rabassó Va por buen camino
es común

Estas usando Double Precision en la declaración de las variables con las que haces cálculos, ¿verdad? A mi me pasó y tube que rehacer las tablas y ponerlas como Numeric(15,3) y a partir de entonces me fue de perlas.
Cuando operes con cantidades con decimales en Delphi usa el .asCurrency que es menos preciso y no añade decimales de más.

Espero que lo que te digo te vaya bien.
Responder Con Cita
  #4  
Antiguo 11-04-2006
IVAND IVAND is offline
Miembro
 
Registrado: may 2003
Ubicación: ECUADOR
Posts: 523
Poder: 21
IVAND Va por buen camino
Unhappy

Gracias por su interes


Todas mis tablas tienen declarados los campos numeric(15,2) no estan como double precision

el sp tiene igual cosa que mas puedo hacer
__________________
IVAND
Responder Con Cita
  #5  
Antiguo 12-04-2006
IVAND IVAND is offline
Miembro
 
Registrado: may 2003
Ubicación: ECUADOR
Posts: 523
Poder: 21
IVAND Va por buen camino
La trama se complica :-( he localizado el valor que me esta dando 5.3333333 -E15 , lo curioso es que borro el valor lo vuelvo a ingresar y sigue con el problema , que pasa con el bendito firebird 1.53 o el que esta mal soy yo ,

campo haber definido como numeric(15,2) , valor visualmente mostrado 1535.37 me pongo sobre el campo (utilizo ib expert) me muestra 1535.369999999999999 estoy medio decepcionado imaginesen esto en un banco o alguna cooperativa ,

Tendriamos que cambiar la logica de como se ingresa un valor o que se yo pues este caso solo lo tengo en un ingreso (tengo mas de 500000)

Alguien que me de una mano por favor
__________________
IVAND
Responder Con Cita
Respuesta


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
Imprimir con QRDBText un cero cuando el valor es nulo ISKANDAR Impresión 9 04-10-2005 00:08:06
Codigo a cero en un BD CARSOFT_AR Conexión con bases de datos 10 09-06-2005 03:23:36
division por cero kalimero Varios 7 21-12-2004 17:24:28
empezando de cero frenadol Varios 1 22-07-2004 02:11:38
Crystal Reports desde cero, cero, cero. Repelus Impresión 1 08-03-2004 22:23:14


La franja horaria es GMT +2. Ahora son las 14:10:58.


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