Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Arredondando Valores


Eder

Pergunta

Ola...

Tenho este exemplo abaixo:

procedure TForm1.XiButton1Click(Sender: TObject);
Var
V1, V2 : Real;
begin
V1:=StrTofloat('1,23');
V2:=StrToFloat('2,10');
Showmessage(FloatToStr(V1+V2));
end;

notem que o valor da soma é: 3,33

Vamos supor que eu precisasse da seguinte regra:

até 3,50 arrendodaria para 3 (para baixo)

acima de 3,50 arrendondaria para 4 (para cima)

como ficaria o meu codigo?

muito Grato

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
Vamos supor que eu precisasse da seguinte regra:

até 3,50 arrendodaria para 3 (para baixo)

acima de 3,50 arrendondaria para 4 (para cima)

como ficaria o meu codigo?

Oi Eder... Vou te dar um exemplo:

Uses Math;

function TBRound(Value: Extended; Decimals: integer): Extended;
var
  Factor, Fraction: Extended;
begin
  Factor := IntPower(10, Decimals);
  { A conversão para string e depois para float evita
    erros de arredondamentos indesejáveis. }
  Value := StrToFloat(FloatToStr(Value * Factor));
  Result := Int(Value);
  Fraction := Frac(Value);
  if Fraction >= 0.5 then
    Result := Result + 1
  else if Fraction <= -0.5 then
    Result := Result - 1;
  Result := Result / Factor;
end;


procedure TForm1.Button1Click(Sender: TObject);
Var
V1, V2 : Real;
begin
   V1:=StrTofloat('1,23');
   V2:=StrToFloat('2,10');
   Showmessage(FloatToStr(trunc(V1+V2)));
   Showmessage(FloatToStr(TBRound(V1+V2+0.60,0)));
end;

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...