Negocio

Como converter Float para Int em Java

Conversão de Variável

Java fornece ferramentas para converter variáveis ​​de um tipo em outro. Podemos precisar alterar um valor flutuante, como uma moeda, para um valor inteiro. Isso pode ser bom se não estivermos muito preocupados com a perda das casas decimais. Pense na idade, por exemplo. Algumas regras de negócios podem exigir a idade exata de uma pessoa, enquanto outras áreas querem apenas a idade especificada como um número inteiro. Vamos dar uma olhada em algumas das maneiras como podemos converter float em inteiro.

Conversão de elenco

Java permite converter variáveis, ou seja, converter uma variável de um tipo em outro. Você basicamente diz ao Java que deseja que a variável float aja como se fosse um int. Quando o Java converte para o inteiro, ele corta tudo à direita da vírgula decimal. Vejamos como isso é feito com o código. Os comandos a seguir criam uma variável flutuante de taxa e a segunda linha do programa converte o valor flutuante de volta para um inteiro.

public static void main (String [] args) { 
  // lançando
  // você precisa f para dizer ao java seu float!
  taxa de flutuação = 19,98f;
  int IntRate = taxa (int);
  System.out.println ("Valor" + taxa + "convertido em int =" + intRate);
}

Quando o programa é executado, você pode ver que ele não fez nenhum arredondamento. Ele simplesmente o converteu em 19:

Java convert float cast convert output

Math.Round

O método Math.round é uma rotina de arredondamento. No entanto, quando usamos o mesmo valor para a variável float, você verá que ele arredonda o valor, em vez de apenas cortar os números após a vírgula decimal. Primeiro, precisaremos de uma linha de código antes de nosso método principal. Precisamos disso para usar as funções matemáticas, que fazem parte do utilitário Java lang.

import java.lang.Math;

O método Math.round aceita um único parâmetro, o número que você está arredondando. Criaremos uma segunda variável inteira e a arredondaremos.

//math.round 
int intRate2 = Math.round (taxa);
System.out.println ("Valor," + taxa + "arredondado =" + intRate2);

Vejamos a saída; podemos ver isso em comparação com a saída original.

Java convertido saída math.round

Quando fazemos a caixa automática , estamos convertendo de um tipo primitivo (float) para o Java Float Object. Java tem classes para todos os tipos, como Double = double, Float = float e Integer = integer. Essas classes são chamadas de classes de wrapper em Java porque envolvem o tipo de dados primitivo em seus ‘braços’. Por serem classes, também possuem seus próprios métodos.

Para fazer uso da caixa automática em Java, primeiro criamos uma instância da classe Float e atribuímos a ela um valor. A seguir, podemos usar o método intValue dentro da classe Float. Isso gera um valor inteiro. Este é o código para atingir este propósito:

// caixa automática 
Float rate2 = new Float ("19.98");
int IntRate3 = taxa2.intValue ();
System.out.println ("Value," + rate2 + "auto-boxed =" + intRate3);

Quando esse código é executado, obtemos a seguinte saída. Novamente, mantivemos a saída de execuções anteriores para mostrar os diferentes valores que são gerados.

Java convert flaot int autobox output

Observe que tanto o lançamento quanto o encaixotamento automático simplesmente cortam os números após o ponto decimal. O arredondamento arredondará o valor para o valor inteiro mais próximo.

Resumo da lição

Existem algumas maneiras de converter uma variável flutuante Java em um inteiro. Java permite lançar ou converter uma variável de um tipo em outro; neste caso, converta um float em um int. Esta opção remove todos os dígitos à direita da casa decimal. Outra opção é usar o método Math.round para arredondar o valor para o inteiro mais próximo. Finalmente, podemos fazer uma caixa automática , o que significa converter de um tipo de dados primitivo de float para a classe Java Float. A classe Float é uma classe de invólucro que envolve os tipos de dados primitivos em classes abrangentes. Essas classes, por sua vez, têm seus próprios métodos. Usamos o método intValue para converter para inteiro. O método de caixa automática também corta os dígitos após o ponto decimal.