Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Usando Format Display (https://www.clubdelphi.com/foros/showthread.php?t=67933)

sizne 14-05-2010 18:05:51

Usando Format Display
 
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
Cita:

'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

Cita:

Empezado por sizne (Mensaje 364047)
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...
Código Delphi [-]
                         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:
Cita:

'700,00 €' is not valid integer value
Puse este codigo:
Código Delphi [-]
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 Noteví 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.

Cita:

'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 Noteví 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 Noteví 15-05-2010 01:11:27

Cita:

Empezado por sizne (Mensaje 364087)
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

Cita:

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...
Cita:

'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 Noteví 16-05-2010 21:41:11

Cita:

Empezado por sizne (Mensaje 364246)
[..]
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:
Código:

  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:
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?.
Código Delphi [-]
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

resp
 
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
Código Delphi [-]
dataset.fieldbyname('campo').ascurrency...


La franja horaria es GMT +2. Ahora son las 12:17:42.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi