PDA

Ver la Versión Completa : Usando Format Display


sizne
14-05-2010, 18:05:51
Hoola!

Tengo el siguiente percance, por favor pueden alguien ayudarme?

Estoy programando en Delphi 7 y usando BD SQL Server.

Tengo un Form donde tengo BDEdit de datos tipo Interos, realizo las operaciones normales... solo que hasta fui a properties en la parte de DisplayFormat y puse ###,#0.00 para que me apareza con dos decimales ...etc... pero al momento de ejecutar el programa me aparece el siguiente msj. por ejemplo para la cantidad 1234

'1.234,00' is not a valid integer value


Sino coloco eso en DisplayFormat pues solo me muestra 1234, lo que no me piden sino que tiene que aparecer con decimales y su punto de miles.

Ah....tambien al mismo tiempo el Simbolo de la moneda. Es decir:
--> Ejemplo: 1.234,45 $us

Solo quiero que me muestre, por que el valor numérico se introducirá normal 1234.45


Graacias

Saludos

look
14-05-2010, 19:52:09
Hoola!

Tengo el siguiente percance, por favor pueden alguien ayudarme?

Estoy programando en Delphi 7 y usando BD SQL Server.

Tengo un Form donde tengo BDEdit de datos tipo Interos, realizo las operaciones normales... solo que hasta fui a properties en la parte de DisplayFormat y puse ###,#0.00 para que me apareza con dos decimales ...etc... pero al momento de ejecutar el programa me aparece el siguiente msj. por ejemplo para la cantidad 1234


Sino coloco eso en DisplayFormat pues solo me muestra 1234, lo que no me piden sino que tiene que aparecer con decimales y su punto de miles.

Ah....tambien al mismo tiempo el Simbolo de la moneda. Es decir:
--> Ejemplo: 1.234,45 $us

Solo quiero que me muestre, por que el valor numérico se introducirá normal 1234.45


Graacias

Saludos

tu problemas es con los decimales , prueba asi...

Table1.FieldByName('PRECIO').AsCurrency:=FORMATFLOAT('0.####',valorx);


en donde valorx es lo que quieres guardar en la tabla

sizne
14-05-2010, 21:30:34
Hola!

Pues comentarle, que me sigue apareciendo ese error....de que no es un valor entero:

'700,00 €' is not valid integer value


Puse este codigo:

Fmensual.TotalRecibido.Text:= FormatFloat ('###,###,###,##0.00 €;-
###,###,###,##0.00 €;0',strToFloat(Fmensual.MontoRecibir.Text));


Entonces lo que hice fue cambiar los tipo de datos definidos en SQL Server, lo cambié a FLOAT, antes estaba a Money... O a que tipo de dato tiene que definirse para que pueda aparecer 1.234,56 ?

Gracias

Casimiro Notevi
14-05-2010, 23:04:55
Lo que se almacena en un campo float, double, currency, etc. es un valor numérico, obviamente. No se puede almacenar con comas y puntos, lo que sí se puede hacer es presentarlo con esas comas y puntos que quieras mediante la propiedad displayformat.

'700,00 €' is not valid integer value
Evidentemente, la cadena de texto "700,00 €" no es un valor entero válido, un valor entero válido es 0, 1, 2, 3, 4, 5, 6, ...

sizne
14-05-2010, 23:16:26
Hoola!

Entonces en el formulario de Delphi no se puede mostrar...solo mostrar con ese formato? 1.234,45 $ <--como ejemplo.

Por que yo solo quiero que me muestre, por que despues los calculos pues si tienen que ser de tipo int.

Gracias!



Saludos!

Casimiro Notevi
14-05-2010, 23:20:50
En el formulario lo muestras como quieras, según lo que pongas en la propiedad 'displayformat' del maskedit, dbedit, o de lo que estés usando.

Ejemplo, siempre con dos decimales: '#,##0.00'
Para que no salgan ceros si es un valor exacto: '#0.##'

sizne
15-05-2010, 00:55:39
Hoola!

Disculpa mi persitencia, pero aun me sigue apareciendo ese error de que no es un valor entero, a pesar que puse en displayFormat, es que con ese campo debo realizar operaciones.

En DataBaseDesktop cuando se define un campo tipo Money y valor por defecto pues solo aparece el simbolo y con cuantos decimales uno quiera, y en delphi realiza normal sus operaciones...solo aparece el formato aunque se introduzca por decir 12 y aparece 12.00 $.

Estoy usando SQL SERVER pues a pesar de que el campo lo puse en tipo MONEY...no me apacere ningun simbolo...

Gracias!

Casimiro Notevi
15-05-2010, 01:11:27
Hoola!

Disculpa mi persitencia, pero aun me sigue apareciendo ese error de que no es un valor entero, a pesar que puse en displayFormat, es que con ese campo debo realizar operaciones.
[..]
Gracias!

¿Dónde aparece el error?, ¿haciendo el qué?

juanelo
15-05-2010, 01:35:24
Tengo un Form donde tengo BDEdit de datos tipo Interos
Quieres capturar un float en un entero.
Saludos.

sizne
16-05-2010, 21:16:01
Hoola!
Buenos son campos definidos en SQL SERVER de tipo MONEY, y que en Delphi en los campos DBEdit relacionados por el DataSource del campo respectivo.

Realizo operaciones de suma y divisiones....todo bien!!!

Solo que quisiera que mis DBEdits aparezcan con el símbolo del dinero "$ ó Bs. en mi caso" y de paso que me aparezcan (VISUALIZAR) con dos decimales mi cantidad.
Ejemplo:1.234,00 $

Puse en properties en FormatDisplay '#,##0.00'
Pero me aparece el error al momento de realizar los cálculos u operaciones respectivas...

'1.234,00 ' is not valid integer value


Entonces como tendría que hacer, para que pueda realizar los cálculos respectivos y que al mismo tiempo en el DBEdit me aparezca o se vea de esta manera? 1.234,00

Gracias a todos por ayudarme...

Saludos

Casimiro Notevi
16-05-2010, 21:41:11
[..]
Puse en properties en FormatDisplay '#,##0.00'
Pero me aparece el error al momento de realizar los cálculos u operaciones respectivas...
[..]

Pon el código fuente de esa parte que te dar error

juanelo
16-05-2010, 22:11:12
Yo creo que no debes de hacer calculos con el valor del editor, sino con el valor del campo ligado a este (FieldByName).

ecfisa
16-05-2010, 23:40:09
Hola sizne.

No encontre manera de que DisplayFormat interfiriera con el valor intrínseco del campo asociado para que provoque el error que mencionas.
Ya que no tiene nada que ver la forma en que Delphi 'muestra' los valores, con las operaciones internas que realizes con el campo.

Para provocar el error que mencionas tuve que hacer algo como esto:

TableNombreDeCampo.Value:= StrToFloat(DBEdit1.Text) * 2;

En este caso estoy tomando el texto formateado y no su valor numérico.

De ser así, deberías reemplazarlo por este código:

TableNombreDeCampo.Value:= TableNombreDeCampo.Value * 2;



Saludos.

gonza_619
05-10-2010, 03:36:14
bueno mi problema es que nose como restar o sumar un campo tipo money y uno tipo integer guardados en una variable, bueno si pueden darme una mano se los agradeceria,

Caral
05-10-2010, 04:36:16
Hola
No entiendo, si tienes los datos guardados en variables ya estas son del tipo que necesitas.
Que no sabes hacer?, sumar o restar una variable?.

var a,b,c:Integer;
begin
a:= 1;
b:= 1;
c:= a + b;

No creo que sea esto lo que necesitas, me parece muy basico, estoy seguro de haber entendido mal la pregunta.
Nos ayudas a entender amigo gonza_619 ?.
Saludos

rastafarey
23-10-2010, 05:24:57
hermano estas mesclando chica con limon y eso no tiene buen sabor.

El dbedit en un vulgar y silvestre edit que fue dotado con la capacidad para actualizarse desde un datalink. lo que quiero decirte que no deberias usarlo a el para hacer calculo si no la dato desde el data set

dataset.fieldbyname('campo').ascurrency...