Fórum Valores decimais iguais, quando comparado se são iguais o delphi entendi como diferente #418139
06/06/2012
0
estou com um problema Chato pra resolver..
eu tenho um valor de titulo somado com juros Ex.: valor recebibo (T=24.00 + J=2.00) = 26.00 e tenho um valor fixo a receber de 26.00
a minha condição para efetivar o recebimento é que.
valor recebido >= valor a receber.. ate aqui tudo bem.. porém quando vou efetivar o recebimento o delphi acusa que o valor é diferente e so entra na condição recebimento := N.
Ex. codigo:
if valrecebido >= valreceber then
begin
recebimento := S
end
else recebimento := N;
como faço p resolver isso?
desde já agradeço a quem poder me ajudar...
Jesus Lima
Curtir tópico
+ 0Posts
06/06/2012
Marco Salles
Qual o tipo ???
Gostei + 0
06/06/2012
Joel Rodrigues
Gostei + 0
07/06/2012
Marcos Roberto
RoundTo(Avalue,Adigit);
- arredondar números com casas decimais. Também utiliza o arredondamento do banqueiro.
Parâmetros:
Avalue: Valor a ser arredondado.
Adigit: Na prática é a quantidade de dígitos que se deseja arredondar Avalue. Por exemplo, se você deseja arredondar um valor que possui três casas decimais para um novo valor com duas casas decimais, então informe nesse parâmetro o valor -2.
Adigit aceita valores entre -37 a 37(inclusive).
Exemplos:
RoundTo (1.234, -2); //retorna 1.23
RoundTo (1.235, -2); //retorna 1.24
RoundTo (1.245, -2); //retorna 1.24
valeu!
Gostei + 0
07/06/2012
Marco Salles
Mas como nossos amigos ja adiantaram em algumas funções para esta finalidade , gosto muito
da função SameValue da Unidade Math
veja a sua assinatura
function SameValue(const A, B: Extended; Epsilon: Extended): Boolean;
begin
if Epsilon = 0 then
Epsilon := Max(Min(Abs(A), Abs(B)) * ExtendedResolution, ExtendedResolution);
if A > B then
Result := (A - B) <= Epsilon
else
Result := (B - A) <= Epsilon;
end;
Gostei + 0
08/06/2012
Pablo Vargas
tipo
1º: multiplica tuas variáveis por 100
2º: faça um Trunc, tirando o que ficar de casas decimais
3º: divida por 100
4º: compare suas variáveis
confesso não ser uma solução elegante, mas te garanto que funciona.
Gostei + 0
11/06/2012
Jesus Lima
mesmo assim obrigado pela ajuda de todos...
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)