Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-11-2006
Avatar de Jheysson13
Jheysson13 Jheysson13 is offline
Miembro
 
Registrado: abr 2006
Posts: 133
Poder: 19
Jheysson13 Va por buen camino
suma con decimales

Hola, salu2.
quisisera que me ayudaran con una duda. por que cuando hago una suma sql
con campos cuyos valoresson decimales el resultado me es dado redondeado, aki les dejo la consultas:

Código Delphi [-]
var ind:real;

qnotas.Close;
qnotas.SQL.Clear;
qnotas.SQL.Add('select sum(indice)as total from notas where matricula='+#39+matricula2.Text+#39+'and ciclo='+#39+ciclo.Text+#39);
qnotas.Open;
ind:=strtofloat(formatfloat('#,0',qnotas.Fieldbyname('total').AsFloat));

ind:=ind/notas.RecordCount;

notas:es otra tabla
qnotas:es el query

si es posible me podrian explicar porque si los campos localizados por la consultas son de 3.5, y 4.00 el resultado es 8 exacto y cuandolo divido entre dos claro que sera 4.
como hagopara que no me redondee los campos.

graciasy sula2.
Responder Con Cita
  #2  
Antiguo 26-11-2006
Avatar de Jheysson13
Jheysson13 Jheysson13 is offline
Miembro
 
Registrado: abr 2006
Posts: 133
Poder: 19
Jheysson13 Va por buen camino
Perdonen pero ya no se molesten
lo que sucede esque no tenia que realizar tantas conversiones, medi cuentas despues de enviar la respuesta.
solo tenia que aser esto :
Código Delphi [-]
qnotas.Close;
qnotas.SQL.Clear;
qnotas.SQL.Add('select sum(indice)as total from notas where matricula='+#39+matricula2.Text+#39+'and ciclo='+#39+ciclo.Text+#39);
qnotas.Open;
ind:=strtofloat(qnotas.Fieldbyname('total').AsFloat);

ind:=ind/notas.RecordCount;


espero que estole sirva si algun diacometen este error.
salu2
Responder Con Cita
  #3  
Antiguo 28-11-2006
FOURIER FOURIER is offline
Miembro
 
Registrado: dic 2005
Posts: 40
Poder: 0
FOURIER Va por buen camino
Espero te sirva

prueba con


ind:=strtofloat(formatfloat('###,##0.00',qnotas.Fieldbyname('total').AsFloat));


Aunque si no lo vas a visualizar aun no deberías usar el formatfloat, es decir

ind:=qnotas.Fieldbyname('total').AsFloat;


bastaría; claro que debes tener cuidado si es vacio
ind:=0;
if qnotas.Fieldbyname('total').AsFloat<>'' then
ind:=qnotas.Fieldbyname('total').AsFloat;


Espero te sirva
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Suma de Memos sierraja Varios 4 09-05-2005 16:39:36
Suma de un campo silviodp Conexión con bases de datos 13 11-06-2004 16:51:23
Suma de eventos Descendents Varios 21 08-01-2004 14:45:38
suma en consulta sql pzala Varios 5 15-12-2003 02:06:05
Suma de horas II YolandaM Varios 10 19-11-2003 22:05:39


La franja horaria es GMT +2. Ahora son las 21:29:16.


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