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
Curtir tópico
+ 0
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
Clique aqui para fazer login e interagir na Comunidade :)