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
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.
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!
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.