Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-04-2010
anoniboxx anoniboxx is offline
Miembro
 
Registrado: feb 2010
Posts: 31
Poder: 0
anoniboxx Va por buen camino
decimales

hola amigos tengo un problemita q no he podido resolver:
resulta q en mi progra suma valores con 2 decimales como 7.33 5.83 o 7.00 y la sumatoria de estos se guardan en un bd en access en un campo doble fijo con 2 decimales pero hay 2 variables q suman lo mismo a y b y cuando muestran el resultado a sale con 40.25 y b con 40.31 y no se porq ni como resolverlo alguda idea de por q y/o como resolverlo gracias de antemano saludos....
Responder Con Cita
  #2  
Antiguo 16-04-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Y cómo te ayudamos si no nos das más datos?, no podemos ver tu ordenador , explícanos un poquito más, por favor.
Te sugieron que leas la guía de estilo de clubdelphi, muchas gracias
Responder Con Cita
  #3  
Antiguo 16-04-2010
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Cita:
Empezado por anoniboxx Ver Mensaje
hola amigos tengo un problemita q no he podido resolver:
resulta q en mi progra suma valores con 2 decimales como 7.33 5.83 o 7.00 y la sumatoria de estos se guardan en un bd en access en un campo doble fijo con 2 decimales pero hay 2 variables q suman lo mismo a y b y cuando muestran el resultado a sale con 40.25 y b con 40.31 y no se porq ni como resolverlo alguda idea de por q y/o como resolverlo gracias de antemano saludos....
mmm... peculiar problema el tuyo.

Revisa muy bien tu código. Otra sugerencia es que inicies ambas variables siempre a 0.

Saludos,
Chris
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #4  
Antiguo 16-04-2010
luisgutierrezb luisgutierrezb is offline
Miembro
 
Registrado: oct 2005
Ubicación: México
Posts: 925
Poder: 19
luisgutierrezb Va por buen camino
yo lo que te sugiero es que utilices variables de tipo currency
Responder Con Cita
  #5  
Antiguo 16-04-2010
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Cita:
Empezado por anoniboxx Ver Mensaje
... pero hay 2 variables q suman lo mismo a y b y cuando muestran el resultado a sale con 40.25 y b con 40.31 y no se porq ni como resolverlo....
Sin mostrar el código de la definición de esas dos variables y como se encuentra la suma, no se te puede decir gran cosa. Revisa si tienes alguna constate, que operaciones se hacen y los tipos de todas las variables de paso.

Saludos.
Responder Con Cita
  #6  
Antiguo 16-04-2010
anoniboxx anoniboxx is offline
Miembro
 
Registrado: feb 2010
Posts: 31
Poder: 0
anoniboxx Va por buen camino
if(Form4->ADOT->FieldValues["Lunes"]==Form5->Label1->Caption)
{hs=hs+7.3;hs2=hs2+7.33;}
eso lo hago igual con cada dia de la semana.. el caption del label es un tex porq no lo puedo comparar directamente con "palabra", las dos estan inicalizadan en "0" al principio del codigo y como digo en el primer mensaje estos valores al final de la semana se guardan en la bd de hacs q tienen los campos definidos como doble fijo con 2 decimales... y pues no se q puede tener mal.. deberia tener los mismos valores al final de la semana.. al final del recorrido (comparar todos los dia de las semanan) estos son los resultados
hs= 43.79 y hs2=43.98 eso es mucha diferencia y en otros casos por q las comparaciones son diferentes y suman distintos estos son los resultados

hs=47.55 y hs2=47.65
porfa me pueden serguir orientando estoy muy confundido por esta cituacion... gracias por su ayuda saludos...
Responder Con Cita
  #7  
Antiguo 17-04-2010
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
¿Cómo están definidas hs y hs2? ¿Cómo las inicializas?

Saludos.
Responder Con Cita
  #8  
Antiguo 18-04-2010
anoniboxx anoniboxx is offline
Miembro
 
Registrado: feb 2010
Posts: 31
Poder: 0
anoniboxx Va por buen camino
las tengo definidas en el programa como float, cuando la guardo en la BD se guardan como doble fijo de dos decimales. ese es el problema? cuando escribo doble en C no me aparece en negrita. gracias saludos
Responder Con Cita
  #9  
Antiguo 18-04-2010
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Una cosa me llama la atención:
Cita:
Empezado por anoniboxx Ver Mensaje
if(Form4->ADOT->FieldValues["Lunes"]==Form5->Label1->Caption)
{hs=hs+7.3;hs2=hs2+7.33;}.
Si sumas valores diferentes no esperes valores iguales.

Por otro lado, si a un float le sumas el resultado de una operaioón de un int con una cte sin decimales, el resultado sumado es un int, osea no tiene decimales. Esto es importante si estas haciendo divisiones. No es lo mismo estas dos expresiones:
Código:
int n = 9;
float f1 = n/2;    // f1 vale 4
float f2 = n/2.0;  // f2 vale 4.5
Mira a ver si tienes expresiones como esas.

Saludos.
Responder Con Cita
  #10  
Antiguo 19-04-2010
anoniboxx anoniboxx is offline
Miembro
 
Registrado: feb 2010
Posts: 31
Poder: 0
anoniboxx Va por buen camino
ok gracias voy a revisar eso de 7.3 y 7.33 porq creo q eso ya lo acomode y no solo tiene q hacer esa operacion de supar se gun la condicion q cupla.. gracia spor su ayuda... saludos
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
Decimales. Iron Varios 11 29-03-2009 19:29:34
Decimales eduardo360 Varios 1 19-02-2008 02:29:28
Decimales Luis Alberto Varios 1 19-05-2006 16:40:25
decimales jfontane Varios 2 24-06-2003 05:35:19
Decimales alexisns Conexión con bases de datos 2 22-06-2003 21:45:40


La franja horaria es GMT +2. Ahora son las 13:33:06.


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