![]() |
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. |
Resp
Aunque hay otro tipo como float, decimal y numeric. Pero con los numeric hay que tener mucho cuidado y saber como trabajan realmente. |
Hola...
Yo lo manejo así y no tengo problemas:
Saludos... |
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. |
Pues según una ayuda de Firebird que encontré:
Cita:
Y te digo, hasta ahora no he tenido problemas de ningún tipo... Saludos... |
Al intentar:
CREATE DOMAIN MONEY DOBLE PRESICION me da un error "doble" supongo es "double" pero tambien me da error presicion?? |
Ya esta es DOUBLE PRECISION
|
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? |
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 |
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.
|
creo que la dase de datos debe estar en Dialect 3 para que sea correcto el manejo de decimales. con IBExpert la puedes cambiar.
|
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 |
Cita:
Salud OS. Edito: esto es en Delphi, no en la base de datos., |
|
Estoiy en Firebird con los componentes query de MDO, no veo donde esta el editor de campos, esta en las propiedades del Query?
|
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? |
Cita:
Solo requieres de colocar una mascara al campo en su propiedad mask, algo así ,0.00 Salud OS |
Gracias Egostar por tu ayuda, eso es lo que necesitaba, la idea es manejar mas de una moneda, salu2
|
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. |
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 |
La franja horaria es GMT +2. Ahora son las 09:22:50. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi