Fórum Arrendodamento - 2 vez #202635
22/12/2003
0
Utilizo o banco de dados Paradox
Tenho os campos valor_unitario e vr_venda (currency) e margem_lucro (Float), quando multiplico um pelo outro, ele arredonda.
ex.
R$ 15,95 + 10.00¬ = 17,545
Ele mostra como vr_venda 17,54 (porque defini apenas 2 casas decimais).
Quando pego p/ vender exe.
3 x R$ 17,54 = R$ 52,62 , porem ele mostra R$ 52,63.
Ele considerou a 3 casa decimal.
Como fazer para que ele grave como vr_venda 17,54 ignorando as demais casas decimais.
Tenho os campos valor_unitario e vr_venda (currency) e margem_lucro (Float), quando multiplico um pelo outro, ele arredonda.
ex.
R$ 15,95 + 10.00¬ = 17,545
Ele mostra como vr_venda 17,54 (porque defini apenas 2 casas decimais).
Quando pego p/ vender exe.
3 x R$ 17,54 = R$ 52,62 , porem ele mostra R$ 52,63.
Ele considerou a 3 casa decimal.
Como fazer para que ele grave como vr_venda 17,54 ignorando as demais casas decimais.
Mardegan
Curtir tópico
+ 0
Responder
Posts
23/12/2003
Adilsond
procedure TForm1.Button1Click(Sender: TObject);
var
A, B: Currency;
begin
A := Trunc((15.95 + ((10 * 15.95) / 100)) * 100) / 100;
ShowMessage(FloatToStr(A));
B := A * 3;
ShowMessage(FloatToStr(B));
end;
O que fiz foi pegar o valor resultante multiplicar por 100, pegar apenas a parte inteira e dividir novamente por 100.
var
A, B: Currency;
begin
A := Trunc((15.95 + ((10 * 15.95) / 100)) * 100) / 100;
ShowMessage(FloatToStr(A));
B := A * 3;
ShowMessage(FloatToStr(B));
end;
O que fiz foi pegar o valor resultante multiplicar por 100, pegar apenas a parte inteira e dividir novamente por 100.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)