Fórum Função usando valor em DBEdit #333931

29/11/2006

0

[color=red:df80fa9a2e]Título editado por Massuda Por favor, procure usar um título descritivo.[/color:df80fa9a2e]

function Power(Base, Exponent :Extended) :Extended;
var
  Valor :Extended;
begin
  Result := 1;
  while Exponent > 0 do
  begin
    Result := Result * Base;
    Exponent := Exponent -1;
  end;
end;

function Arredonda1(Valor :Double; Casas: Byte) :Double;
var
  StrFormat :String;
begin
  StrFormat := ´#.´;
  while Casas > 0 do
  begin
    // inicializa quantidade de zeros ref. as casas decimais desejadas
    StrFormat := StrFormat +´0´;
    Dec(Casas);
  end;
  Result := StrToFloat(FormatFloat(StrFormat, Valor));
end;

function Arredonda2(Valor :Double; Casas: Byte) :Double;
var
  Multiplicador :Extended;
begin
  Multiplicador := Power(10, Casas); // unit Math ou função acima
  // desloca casas à direita e arredonda
  Valor := Round(Valor * Multiplicador);
  // retorna casas à esquerda
  Result := Valor/Multiplicador;
end;


procedure TForm1.Button1Click(Sender: TObject);
var
Valor :Double;
begin
Valor := 8386.428;
Label1.Caption := FloatToStr(Arredonda1(Valor, 2));
Label2.Caption := FloatToStr(Arredonda2(Valor, 2));
end;
[b:df80fa9a2e]
O problema é que a Variavel ´Valor´ dever pegar o valor que se encontra em um dbedit de um banco de dados paradox e arredondar o mesmo.
[/b:df80fa9a2e]


Misael

Misael

Responder

Posts

30/11/2006

Marco Salles

O problema é que a Variavel ´Valor´ dever pegar o valor que se encontra em um dbedit de um banco de dados paradox e arredondar o mesmo.


é so voce fazer:

var Valor :double; begin Valor :=DataSet.fieldByName(´NomeDoCampoValor´).asfloat; Label1.Caption := FloatToStr(Arredonda1(Valor, 2)); Label2.Caption := FloatToStr(Arredonda2(Valor, 2));


não daria ????


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar