Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   comversion de tipos (https://www.clubdelphi.com/foros/showthread.php?t=19921)

fabian20s 31-03-2005 02:09:05

comversion de tipos
 
tengo en un dbedit1 un dato tipo integer y en dbedit2 otro tipo currency quiero multiplicar los dos datos como lo consigo ???
dbedit1 = 11
dbedit2 = s/. 6.12

Pablo Carlos 31-03-2005 02:40:12

Cita:

Empezado por fabian20s
tengo en un dbedit1 un dato tipo integer y en dbedit2 otro tipo currency quiero multiplicar los dos datos como lo consigo ???
dbedit1 = 11
dbedit2 = s/. 6.12

Hola... pasa el campo del dbedit1 a currency creo que era asi IntToCurr o quizas...
Código Delphi [-]
var Total : Currency;
begin
 Total := FieldByName('Total1').Value ; //total1 es el campo que corresponde al dbedit1
 Total := FieldByName('Total2').Value * Total;
end;
Espero no equivocarme con lo que sugiero (sumamente agotado)
Saludos bye

Pascual Montes 31-03-2005 03:54:57

currency e integer no son compatibles colega
 
:D
\\saludos

aarmalo 31-03-2005 06:18:13

Esta podría ser una posible forma de multiplicarlo:
var
k:string;
b:real;
begin
k:=DBEdit1.Text; {El Currency}
Delete(k,1,1); {Le quitamos el signo $}
b:=StrToFloat(k)*StrToInt(DBEdit2.Text); {realizamos la multiplicación}
end;

jachguate 31-03-2005 15:26:49

No olvides que si el dato está en un DBEdit, es porque está asociado a un campo de una tabla (TField).

De esta cuenta, que lo es mucho mas práctico y confiable trabajar directamente sobre los TFields, puesto que el formato de presentación puede variar (Por ejemplo, algunas monedas como el euro usan el simbolo después del número, y otras como el quetzal, lo usan antes).

Asi, el código para obtener la multiplicación debiera ser algo como:

Código Delphi [-]
Var
  Total : Double;
Begin
  Total := Tabla1Campo1.AsCurrency * Tabla1Campo2.AsInteger;
  // o bien:
  Total := Tabla1.FieldByName('Campo1').AsCurrency * Tabla1.FieldByName('Campo2').AsInteger;
end;

Hasta luego.

;)

Pablo Carlos 31-03-2005 22:09:03

Cita:

Empezado por Pascual Montes
:D
incompatibilidad :D

Ups (en que estaría pensando) :D


La franja horaria es GMT +2. Ahora son las 17:56:32.

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