Separando a Parte Inteira e a Parte Fracionária de Valores do Tipo Real
Veja nesta Quick Tips como separar a parte inteira e a parte fracionária de valores do tipo real em exemplos usando as Linguagens Delphi e Java.
Caros Amigos,
Pretendo demonstrar nesta Quick Tips como separar a parte inteira e a parte fracionária de valores do tipo real. Por exemplo, dado o valor de entrada 147.89 obter como resultados: 147 e 89, separadamente.
Em aplicações Delphi:
Usar as funções: a) trunc (trunca um valor real para um valor inteiro); b) frac (retorna a parte fracionária de um número real); e, c) round (retorna o valor real arredondado para o número inteiro mais próximo). As três funções citadas estão disponíveis na unit System, veja o exemplo a seguir:
Em aplicações Java:
a) Fazer o cast de double para int; e, b) Usar o método round da classe Math que retorna o valor real arredondado para o número inteiro longo mais próximo, veja o exemplo a seguir:
Obrigado e um abraço.
Prof. Omero Francisco Bertol (http://www.devmedia.com.br/omero)
Pretendo demonstrar nesta Quick Tips como separar a parte inteira e a parte fracionária de valores do tipo real. Por exemplo, dado o valor de entrada 147.89 obter como resultados: 147 e 89, separadamente.
Em aplicações Delphi:
Usar as funções: a) trunc (trunca um valor real para um valor inteiro); b) frac (retorna a parte fracionária de um número real); e, c) round (retorna o valor real arredondado para o número inteiro mais próximo). As três funções citadas estão disponíveis na unit System, veja o exemplo a seguir:
var valor: real;
result: integer;
begin
valor := 147.89;
// separando a parte inteira: resultado 147
result := trunc(valor);
// separando a parte fracionária:
// multiplicar por 100 obtem as duas primeiras casas decimais
// resultado 89
result := round(frac(valor) * 100);
end;
Em aplicações Java:
a) Fazer o cast de double para int; e, b) Usar o método round da classe Math que retorna o valor real arredondado para o número inteiro longo mais próximo, veja o exemplo a seguir:
double valor;
int result;
valor = 147.89;
// separando a parte inteira: resultado 147
result = (int)valor;
// separando a parte fracionária:
// valor original é subtraído pela parte inteira
// multiplicar por 100 obtem as duas primeiras casas decimais
// resultado 89
result = (int)Math.round((valor - (int)valor) * 100);
Obrigado e um abraço.
Prof. Omero Francisco Bertol (http://www.devmedia.com.br/omero)

Você está em:
canal Delphi
Omero Francisco Bertol
Space do autor
Técnico Mecânico pelo CEFET, Curitiba/PR. Tecnólogo em Processamento de Dados pela UEM, Maringá/PR. Especialista em Informática pela Universidade Federal do Paraná. Mestre em Informática Aplicada pelo Programa de Pós Graduação em Informática Aplicada da PUC, Curitiba/PR. Professor de Ensino Superior...
Space do autor



0
0
