Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-12-2005
Avatar de Coco_jac
Coco_jac Coco_jac is offline
Miembro
 
Registrado: mar 2005
Ubicación: Lima Peru
Posts: 338
Poder: 20
Coco_jac Va por buen camino
Error en campo calculado ?

HOla amigos del foro, tengo una duda, trato de obtener un campo calculado de una consulta realizada

Código:
   
Select SUM(IMPORTE)from CUEN01 where CCONREFER='N' and cclie='AB001'
lo obtengo asi:
Código:
   
Saldo1:=strtofloat(SQLquery.fields[0].AsString);   // SQLquery:Tquery
Esa consulta me devuelve la suma del campo IMPORTE , cuyos registros tengan su CCONREFER='N' , tengo un caso que la suma deberia ser 16.50 , pero obtengo 16.45545 cosa que es raro, a que se puede deber.?, de manera que altera todo mi calculo.............

Utilizo tablas paradox.

Gracias anticipadas y espero sus cometarios
Responder Con Cita
  #2  
Antiguo 16-12-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
una diferencia de casi 4.5 centimos puede ser muy significativa, pero lo único que se puede decir con tan poca información es que seguramente en el motor donde almacenas los datos estos contienen fracciones que dan la suma.

Para finalizar, solo quiero comentar que ninguno de los motores con los que he trabajado presenta problemas para sumar números de esta manera (entre ellos están oracle, firebird, interbase, mysql, SQL Server, y unos cuantos mas).

Saludos.
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #3  
Antiguo 16-12-2005
Avatar de Coco_jac
Coco_jac Coco_jac is offline
Miembro
 
Registrado: mar 2005
Ubicación: Lima Peru
Posts: 338
Poder: 20
Coco_jac Va por buen camino
Disculpen si no fui claro, sucede que tengo 2 consultas, las cuales son strings como son:

Código:
 
SQLFindKardexclieS1: 
'Select SUM(IMPORTE) from CUEN01 where CCONREFER='N' and cclie='
 
SQLFindKardexclieS2:
'Select SUM(IMPORTE) from CUEN01 where CCONREFER='S' and cclie='
 
Un ejemplo, tabla : CUEN01 
 
CCLIE	IMPORTE		CCONREFER
ñi008	 16.50			 N
ñi008	 16.50			 S


Mi codigo es el siguiente,utilizo el mismo query para hacer los calculos :

Código:
 
SQLquery:=ObtenerSQL(SQLFindKardexclieS1+chr(39)+Codigoclie+chr(39));
Saldo1:=strtofloat(SQLquery.fields[0].asstring);
 
SQLquery:=ObtenerSQL(SQLFindKardexclieS2+chr(39)+Codigoclie+chr(39));
Saldo2:=strtofloat(SQLquery.fields[0].asstring);
if Saldo1=Saldo2 then 
..............................


Lo raro es que obtengo es que obtengo esto :

saldo1:=16.14999926 ------- N
saldo2:=16.5 --------S

Realizo un bucle realizando el codigo mostrado, pero el error que comento solo ocurre algunas veces........pero esas algunas veces malogran todo los calculos...........que puede ser, se que parece raro..

Espero sus cometarios

Última edición por Coco_jac fecha: 16-12-2005 a las 18:36:48.
Responder Con Cita
  #4  
Antiguo 16-12-2005
samantha jones samantha jones is offline
Miembro
 
Registrado: ago 2004
Posts: 46
Poder: 0
samantha jones Va por buen camino
Por lo que veo, estas haciendo calculos con las tablas de SAE de aspel, y me imagino que en paradox. En otros tiempos me toco sacar algunos reportes de dicho sistema, y tenía los mismos problemas, y si mi memoria no me falla lo solucione sumando el redondeo hacia arriba de 2 decimales en el campo importe de cada registro.

Saludos
Samantha Jones
Responder Con Cita
  #5  
Antiguo 16-12-2005
Avatar de Coco_jac
Coco_jac Coco_jac is offline
Miembro
 
Registrado: mar 2005
Ubicación: Lima Peru
Posts: 338
Poder: 20
Coco_jac Va por buen camino
Muchas gracias, sabes pense que yo estaba loco por estos resultados, nadie me creia......................
Responder Con Cita
  #6  
Antiguo 19-12-2005
Avatar de Coco_jac
Coco_jac Coco_jac is offline
Miembro
 
Registrado: mar 2005
Ubicación: Lima Peru
Posts: 338
Poder: 20
Coco_jac Va por buen camino
Gracias Samantha, eso era, un redondeo hacia arriba de 2 decimales, funciono bien gracias......................
Responder Con Cita
Respuesta



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


La franja horaria es GMT +2. Ahora son las 16:10:26.


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