Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-06-2007
ebeltete ebeltete is offline
Miembro
 
Registrado: may 2003
Posts: 236
Poder: 21
ebeltete Va por buen camino
campo money en Firebird

Hola amigos estoy con Firebird 2.0, intento crear un campo money en firebird, hago lo sig.:
CREATE DOMAIN MONEY INTEGER
default 0
pero el tema es que no me deja decimales, probe con float pero al ingresar 10.20 en dicho campo al hacer post me lo convierte a 10.1999998092651, necesito poder controlar la cantidad de decimales.
Responder Con Cita
  #2  
Antiguo 13-06-2007
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
Resp

Código SQL [-]
CREATE DOMAIN MONEY DOBLE PRESICION

Aunque hay otro tipo como float, decimal y numeric. Pero con los numeric hay que tener mucho cuidado y saber como trabajan realmente.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #3  
Antiguo 13-06-2007
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Hola...

Yo lo manejo así y no tengo problemas:

Código SQL [-]
CREATE DOMAIN TCURRENCY AS
  NUMERIC(12, 2)
  DEFAULT 0;


Saludos...
Responder Con Cita
  #4  
Antiguo 13-06-2007
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
Resp

El problema nace cuando hay que hacer alguna division por ejemplo en un campo calculado. Ya que al hacer uan division si el divedendo no contiene los numeros decimales de la presicion el sistema intuye que debe tener 4 decimales los del divisor y los del dividendo.

La cosa es mas complicado que lo que te acabo de explicar.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #5  
Antiguo 13-06-2007
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Pues según una ayuda de Firebird que encontré:

Cita:
Empezado por Firebird 2.0 PSQL Reference Manual
Firebird supports two scaled datatypes, NUMERIC and DECIMAL, for handling numeric data with a fixed decimal point, such as monetary values. You can specify optional precision and scale factors for both datatypes:
http://www.janus-software.com/fbmanu...=psql&topic=30

Y te digo, hasta ahora no he tenido problemas de ningún tipo...



Saludos...

Última edición por maeyanes fecha: 13-06-2007 a las 20:30:27.
Responder Con Cita
  #6  
Antiguo 13-06-2007
ebeltete ebeltete is offline
Miembro
 
Registrado: may 2003
Posts: 236
Poder: 21
ebeltete Va por buen camino
Al intentar:
CREATE DOMAIN MONEY DOBLE PRESICION
me da un error "doble" supongo es "double" pero tambien me da error presicion??
Responder Con Cita
  #7  
Antiguo 13-06-2007
ebeltete ebeltete is offline
Miembro
 
Registrado: may 2003
Posts: 236
Poder: 21
ebeltete Va por buen camino
Ya esta es DOUBLE PRECISION
Responder Con Cita
  #8  
Antiguo 13-06-2007
ebeltete ebeltete is offline
Miembro
 
Registrado: may 2003
Posts: 236
Poder: 21
ebeltete Va por buen camino
Gracias, funciona, con double precision no puedo especificar los decimales?, en numeric si, pero no sabia que puede traerme problemas con alguna cuenta, para sumar restar dividir y multiplicar como si fuera diner me recomiendas double precision?
hasta que valr llega?
Responder Con Cita
  #9  
Antiguo 13-06-2007
ebeltete ebeltete is offline
Miembro
 
Registrado: may 2003
Posts: 236
Poder: 21
ebeltete Va por buen camino
que significa el primer valor de numeric?
numerc(10,2) el 2 significa la cantidad de decimales pero el 10? se que va de 1 a 18
Responder Con Cita
  #10  
Antiguo 13-06-2007
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
Resp

Aqui en e foro hay un hilo donde hay un documento que explica de manera muy completa como es el meoyo con con numeric. Si mas no recuerdo lo expuso roman. Esto se lo digo y siempre mucho incapi haste que paso un problema con los numeric que casi me vuelve loco.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #11  
Antiguo 13-06-2007
Avatar de gmontes
gmontes gmontes is offline
Miembro
 
Registrado: jul 2004
Ubicación: Culiacán, Sinaloa, México
Posts: 668
Poder: 20
gmontes Va por buen camino
creo que la dase de datos debe estar en Dialect 3 para que sea correcto el manejo de decimales. con IBExpert la puedes cambiar.
__________________
Todos llevamos nuestros demonios a cuestas..
Responder Con Cita
  #12  
Antiguo 26-07-2007
ebeltete ebeltete is offline
Miembro
 
Registrado: may 2003
Posts: 236
Poder: 21
ebeltete Va por buen camino
Estoy probando con numeric, pero quiero mostrar dos digitos despues de la coma, o sea $ 100,20
el tema es que cuando no hay decimales me muestra 100 yo quiero que se vea 100,00 y si es por ejemplo 1000 se vea 1.000,00
como hago ?
Salu2
Responder Con Cita
  #13  
Antiguo 26-07-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por ebeltete
Estoy probando con numeric, pero quiero mostrar dos digitos despues de la coma, o sea $ 100,20
el tema es que cuando no hay decimales me muestra 100 yo quiero que se vea 100,00 y si es por ejemplo 1000 se vea 1.000,00
como hago ?
Salu2
En el editor de campos de la tabla o query, selecciona el campo que deseas y hay una opcion de las propiedades que se llama currency, asignalo como True.

Salud OS.

Edito: esto es en Delphi, no en la base de datos.,
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #14  
Antiguo 26-07-2007
Avatar de Ivanzinho
[Ivanzinho] Ivanzinho is offline
Miembro Premium
 
Registrado: ene 2005
Ubicación: Galicia
Posts: 595
Poder: 20
Ivanzinho Va por buen camino
revisa esto

Un saúdo.
__________________
Si no lees esto no vivirás tranquilo
Non lle poñades chatas â obra namentras non se remata. O que pense que vai mal que traballe n’ela; hai sitio para todos. (Castelao)
Responder Con Cita
  #15  
Antiguo 27-07-2007
ebeltete ebeltete is offline
Miembro
 
Registrado: may 2003
Posts: 236
Poder: 21
ebeltete Va por buen camino
Estoiy en Firebird con los componentes query de MDO, no veo donde esta el editor de campos, esta en las propiedades del Query?
Responder Con Cita
  #16  
Antiguo 07-08-2007
ebeltete ebeltete is offline
Miembro
 
Registrado: may 2003
Posts: 236
Poder: 21
ebeltete Va por buen camino
Veo el campo money, ahora puedo eliminar el signo de la moneda?
lo veo $ 10,150.20 puedo hacer que solo se vea 10,150.20?
Responder Con Cita
  #17  
Antiguo 07-08-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por ebeltete Ver Mensaje
Veo el campo money, ahora puedo eliminar el signo de la moneda?
lo veo $ 10,150.20 puedo hacer que solo se vea 10,150.20?
Bueno, eso cambia totalmente el concepto de money que inicialmente solicitaste, eso ya no es money, es una edición simple de un campo númerico.

Solo requieres de colocar una mascara al campo en su propiedad mask, algo así ,0.00

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #18  
Antiguo 07-08-2007
ebeltete ebeltete is offline
Miembro
 
Registrado: may 2003
Posts: 236
Poder: 21
ebeltete Va por buen camino
Gracias Egostar por tu ayuda, eso es lo que necesitaba, la idea es manejar mas de una moneda, salu2
Responder Con Cita
  #19  
Antiguo 07-08-2007
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
Resp

Pruben esto creen un dominio numeric(18.2)

luego creen una tabla con los campos c1, c2, c3 de tipo numeric

y un cuarto campo calculado c4 compute by c1*c2/c3 he introduzcan datos y luego me cuentan.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #20  
Antiguo 05-03-2008
ebeltete ebeltete is offline
Miembro
 
Registrado: may 2003
Posts: 236
Poder: 21
ebeltete Va por buen camino
Retomo este hilo, ya que en tiempo de diseño todo va bien, pero si quiero cambiar el displayformat de un campo en tiempo de ejecucion, como se hace?
probe algo asi:
tabla.Fields.FieldByName('pendiente').EditMask:=',0.00'

pero no funciona, como llego a la probiedad displayformat en tiempo de ejecucion, con una consulta sql?
Salu2
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
Como configurar un MasKEdit para Money$ ?? Fabricio Varios 5 06-03-2007 23:44:13
money en paradox pablo Conexión con bases de datos 0 23-02-2005 00:27:42
Que tipo usar para Money?? y DBLookUpCombo T-man Firebird e Interbase 4 10-11-2004 16:12:06
Leer de ms money davitos Conexión con bases de datos 0 16-06-2003 17:22:42
ms money desde delphi davitos Conexión con bases de datos 0 05-06-2003 14:20:15


La franja horaria es GMT +2. Ahora son las 06:49:12.


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