FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
proeblmas con decimales en la DB
hola chicos una pregunta, estoy haciendo un calculo q me genera decimales del tipo '0.000' asi los defini en la tabla, a los calculos q hago los guardo en un edit y de ahi los paso a la tabla. El problema es q me genera un error del tipo Data truncated para un sierto campo, el problema creo q esta en la ',' como puedo hacer para almancenar en la tabla eso valor sin esa coma, osea q remplaze la coma por el punto??? gracias
|
#2
|
||||
|
||||
Hola einarcito,
¿Porqué no nos dices el error exacto que te da? Dices que es posiblemente por la coma, pero el hecho de que dices que el error es del tipo "data truncated" me marea. Si fuera por una cuestión del símbolo decimal el error que te arrojaría sería del tipo InvalidException, informandote de que el símbolo decimal no es el que corresponde. Para asesorarte debidamente es fundamental y necesario que nos aportes los detalles necesarios, y si te da error debemos conocer el nombre exacto del error. Si en efecto, es culpa del símbolo decimal, lo adecuado sería que en en onCreate de tu form principal establezcas el símbolo adecuado en la variable global DecimalSeparator:
Las otras opciones pueden ir desde modificar en la configuración regional, o incluso detectar en el evento OnKeyPress la tecla pulsada y realizar la "conversión" de coma al punto. De cualquier forma esto que te he comentado fue ampliamente discutido. Realiza una búsqueda por favor. Saludos, |
#3
|
|||
|
|||
si dephius el error es del tipo q me tira es data truncated form coloum ley19032 (este es un campo de la tabla reteciones) nada mas, veamos si me hago entender, por defecto cuando se hacen calculos decimales en delphi el resultado que nos arroja es siempre con una coma no con un punto(si corresponde), entonces ese valor es el q tengo q almacenar en la tabla y la DB solo recepciona en los tipos de datos el '.' (punto), es por eso q cuando copio ese resultado con ',' a la tabla me genera el error (creo) . Otra cosa al evento key press no lo necesito en este caso porq no lo ingreso por teclado a ese valor solo lo calculo lo mando a un edit y de ahi a la tabla. Me entiendes?
|
#4
|
||||
|
||||
¿Podríamos saber algo del código que empleas? ¿Que motor de base de datos usas? ¿Qué componentes?
Necesitamos de esos datos para asesorarte debidamente. Saludos, |
#5
|
|||
|
|||
amigo te cuento q ya lo soluciones solo use el algo como esto.
adoquery.parametres:=Floattostro(ROund(datoReal)); el round me trunca esas comas de porqueria. gracias de todos modos |
#6
|
||||
|
||||
Hola einarcito,
¿Porqué estás guardando el valor real como un string? ¿No sería mejor guardarlo como un real?. Si se trata de una expresión moneda, lo más conveniente sería emplear el formato Currency o el equivalente al moneda en el motor que usas. Lo bueno de emplear parámetros es que te olvidas de los formatos, esto hace que asuma el trabajo el motor. Por otro lado, Round() hará que te redondee el número, perdiendo los décimales que previamente calculaste. Ahora, si lo que buscas es que tus datos se "muestren" con los decimales, a pesar de tener solamente parte entera (algo como por ejemplo: 3432.000) lo mejor es que guardes el dato como un entero, dejando a fines de visualización los dichosos decimales. Para ello puedes valerte de la propiedad DisplayFormat. Espero que se me entienda, Saludos, |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Decimales | eduardo360 | Varios | 1 | 19-02-2008 02:29:28 |
Decimales | oregon | Varios | 1 | 26-10-2006 15:53:08 |
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 |
|