PDA

Ver la Versión Completa : Combobox


hernan35
10-03-2010, 15:53:01
Hola a todos.
Espero puedan sacarme una duda seguro que sencilla.
Quiero multiplicar dos elementos seleccionados, cada uno de ellos pertenecientes a un combobox. El producto resulta cuando los valores son númeos enteros, pero si tengo un número decimal ya no funciona.¿cómo se múltiplican los elementos del combobox1 y combobox2 si uno de ellos es decimal?
Desde ya muchas gracias.
saludos

Caro
10-03-2010, 16:00:11
Hola hernan35, puedes manejar el tipo Currency:


var
Total : Currency;
begin
Total := StrToCurr(ComboBox1.Items[ComboBox1.ItemIndex])*StrToCurr(ComboBox2.Items[ComboBox2.ItemIndex]);


Saluditos

hernan35
10-03-2010, 17:02:58
Gracias caro, lo voy a probar.

BrunoBsso
10-03-2010, 17:06:31
Hola.
Si mal no recuerdo, StrToCurr te da los números con 2 decimales (currency, dinero, moneda). Si querés usar mas de 2 decimales usa StrToFloat que lo convierte a punto flotante (reales, double, single, extended, etc).
Saludos!

Softweb
10-03-2010, 20:16:45
Hola.
Si mal no recuerdo, StrToCurr te da los números con 2 decimales (currency, dinero, moneda). Si querés usar mas de 2 decimales usa StrToFloat que lo convierte a punto flotante (reales, double, single, extended, etc).
Saludos!

Hola

ExactamenteStrToCurr da los decimales que tenga configurado el sistema operativo y que esta definido en la variable gloval CurrencyDecimals.

Si quieres que tu aplicación trabaje con tres decimales solo tienes que poner en el inicio de tu aplicación algo como:

CurrencyDecimals := 3;

y todo los formateo de las funciones y todo los controles mostraran 3 decimales en tu aplicación.

Saludos.

hernan35
10-03-2010, 21:47:19
Hola hernan35, puedes manejar el tipo Currency:


Código Delphi [-] (http://www.clubdelphi.com/foros/#)
var
Total : Currency;
begin
Total := StrToCurr(ComboBox1.Items[ComboBox1.ItemIndex])*StrToCurr(ComboBox2.Items[ComboBox2.ItemIndex]);





Saluditos




Hola nuevamente caro

Tu sintáxis es correcta pero se me presenta otro problema y es cuando quiero mostrar el resultado.

Edit1.text:=CurrToStr(Total);

¿esto es correcto?

gracias nuevamente y perdon por la molestia ocasionada.

Caro
10-03-2010, 22:56:54
Hola nuevamente caro

Tu sintáxis es correcta pero se me presenta otro problema y es cuando quiero mostrar el resultado.

Edit1.text:=CurrToStr(Total);

¿esto es correcto?


Claro es correcto, estas convirtiendo de currency a String para mostrar en el Edit y no es ninguna molestía, pregunta todas las dudas que tengas ;).

Saluditos

BrunoBsso
11-03-2010, 02:13:47
Hola

ExactamenteStrToCurr da los decimales que tenga configurado el sistema operativo y que esta definido en la variable gloval CurrencyDecimals.

Si quieres que tu aplicación trabaje con tres decimales solo tienes que poner en el inicio de tu aplicación algo como:

CurrencyDecimals := 3;

y todo los formateo de las funciones y todo los controles mostraran 3 decimales en tu aplicación.

Saludos.
Si lo hubiese sabido antes... la cantidad de código que me hubiese ahorrado
:mad:
Pero bueno, tarde o temprano se aprende. Ya me solucionaste unas 5~10 líneas de código cada vez que necesite algo de este estilo.
Gracias!!!!!
Saludos!