Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-05-2011
Chaja Chaja is offline
No confirmado
 
Registrado: ago 2004
Ubicación: Mar del Plata
Posts: 238
Poder: 0
Chaja Va por buen camino
Smile Float a TFMTBCD ......

Estimados:
Bien, tengo un tema que si bien lei por ahi que los campos FMT o BCD cuando se generan en el ClientDataSet, toma por defecto prescion=15 y size 3, para los culaes el size se refiere a la cantidad de decimales, segun el libro de la cara oculta de D6. Ahora, tengo un Field del tipo FMTBCDS el cual le aisgo un valor de una variable float, la variable contiene el valor ej: 8.522234 y al asignarla al campo me queda 8.522, por lo que me genera errores de calculo. el dato es un precio de un art. pero sin el IVA, lo que la mostrarlo con el iva me da diferencia de decimales:
1 x 10 = 10 ((1 X 8.2644) *1.21 )

cuando el multiplicador es menor de 8 todo bien pero cuando es mayor me da error de 0,001/2/3

no se por que cuando le asigno el valor float me trunca los demas decimales despues del trecero.
Alguna sugerencia?????

Gracias

Luis Roldan
Mar del Plata
Argentina
Responder Con Cita
  #2  
Antiguo 24-05-2011
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.481
Poder: 21
newtron Va camino a la fama
Hola.

¿No será que en el campo de la tabla tienes definidos 3 decimales?

Saludos
Responder Con Cita
  #3  
Antiguo 25-05-2011
Chaja Chaja is offline
No confirmado
 
Registrado: ago 2004
Ubicación: Mar del Plata
Posts: 238
Poder: 0
Chaja Va por buen camino
hola... gracias por responder, si en la base lo tengo definido como Numeric (15,3), pero esto cuando tenia en uso el BDE no era problema. Ahora veo que si hago 10 /1.21 es decir le saco el iva y se lo vuelo a poner 10*1.21 no me da lo mismo... es un garron....pues ahora me deprecia los digitos despues del tercer decimal

no se me ocurre como solucionarlo...
Responder Con Cita
  #4  
Antiguo 25-05-2011
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.481
Poder: 21
newtron Va camino a la fama
A ver que me estoy perdiendo.

¿Te trunca los valores en variables de memoria o en los campos de las tablas?
Responder Con Cita
  #5  
Antiguo 26-05-2011
Chaja Chaja is offline
No confirmado
 
Registrado: ago 2004
Ubicación: Mar del Plata
Posts: 238
Poder: 0
Chaja Va por buen camino
hago un calculo de un valor real / 1.21 y se lo asigo al campo de la tabla, l valor da como x.123456789 y solo asigna x.123
Responder Con Cita
  #6  
Antiguo 26-05-2011
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.481
Poder: 21
newtron Va camino a la fama
Pues claro, si en la tabla tienes un máximo de 3 decimales te lo corta en el tercero, ¿no?
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
FLOAT de los ... no va! vivamotos C++ Builder 7 05-01-2009 23:15:15
Float y Firebird dvlt Firebird e Interbase 2 26-05-2007 06:29:01
truncar un float federiconqn21 Varios 4 17-01-2006 14:06:08
Problemas con float.... ilichhernandez Varios 2 20-12-2005 16:19:20
Float marianaf Varios 1 24-11-2003 19:44:47


La franja horaria es GMT +2. Ahora son las 05:22:37.


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