Arredondamento Valores - Delhi

Java

Delphi

C++

30/08/2017

Tudo bem pessoal?

Como faço para arredondar um valor no delphi?

Tenho uma variável x recebendo 1.25468842

Quando dou o comando para visualizar o valor de "x", ele retorna 1.25468842


Gostaria no entanto, de arredondar o valor para:

Primeiramente arredondar para duas casas decimais: 1.25

E também para o maior número inteiro, no caso: 2.00


Obrigado
Joao Df

Joao Df

Curtidas 0

Melhor post

Natanael Ferreira

Natanael Ferreira

30/08/2017

Adicione Math na uses do form.

Para arredondar para 2 casas decimais use RoundTo:

var
  X: Double;
begin
  X := 1.25468842;
  X := RoundTo(X, -2); // 2 casas decimais
  ShowMessage(FloatToStr(X)); // Resultado: 1.25
end;


Para arredondar para o próximo número inteiro use Ceil:

var
  X: Double;
begin
  X := 1.25468842;
  X := Ceil(X);
  ShowMessage(FloatToStr(X)); // Resultado: 2
end;
GOSTEI 1

Mais Respostas

Joao Df

Joao Df

30/08/2017

Adicione Math na uses do form.

Para arredondar para 2 casas decimais use RoundTo:

var
  X: Double;
begin
  X := 1.25468842;
  X := RoundTo(X, -2); // 2 casas decimais
  ShowMessage(FloatToStr(X)); // Resultado: 1.25
end;


Para arredondar para o próximo número inteiro use Ceil:

var
  X: Double;
begin
  X := 1.25468842;
  X := Ceil(X);
  ShowMessage(FloatToStr(X)); // Resultado: 2
end;


Está dizendo que "CEIL" é uma variável não declarada.
Está correto ?
GOSTEI 0
Natanael Ferreira

Natanael Ferreira

30/08/2017

A função CEIL faz parte da biblioteca Math do Delphi.

Certifique se você já adicionou Math na uses do form.
GOSTEI 0
Joao Df

Joao Df

30/08/2017

A função CEIL faz parte da biblioteca Math do Delphi.

Certifique se você já adicionou Math na uses do form.


Como consigo inserir o Math na Uses do Form?
Desculpa-me a inocência da programação.

Obrigado
GOSTEI 0
Natanael Ferreira

Natanael Ferreira

30/08/2017

Quando você cria um form, automaticamente, o Delphi gera um esqueleto de código e suas cláusulas, exemplo:

unit Unit1;

interface

// Esta é a cláusula USES (Abaixo todas as bibliotecas que você vai precisar)
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs;

type
  TForm1 = class(TForm)
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

end.


A cláusula Uses é esta abaixo, nela estão as bibliotecas que seu programa usará naquele form.
Você pode adicionar, outras bibliotecas (Math, neste caso) separada por vírgula e no final da cláusula um ponto e vírgula:
// Esta é a cláusula USES (Abaixo todas as bibliotecas que você vai precisar)
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Math;


Veja que no final adicionei a cláusula Math.

Qualquer duvida estou a disposição.
GOSTEI 0
POSTAR