5 / 3 = 1.0 ( como mostrar 1.666 )

Olá pessoal… estou me batendo com essa
coversão… sei que é básico… mais não estou conseguindo.

tenho dois inteiros… e estou tirando a média deles…
o resultado… preciso que aparece em float… ou seja,
com casa decimais…

como devo proceder ???

obrigado

Solução completa.

        NumberFormat numberFormat = NumberFormat.getInstance( new Locale("pt","br") );
        numberFormat.setMaximumFractionDigits( 3 );        
        float a = 5;
        float b = 3;
        String formatado = numberFormat.format( a / b );
        System.out.println( formatado );

Solução simples

        System.out.println( (float) 5 / 3 );

AlcidesFlach

Tente esse aqui, eu acho q é mais facil de entender!!

import javax.swing.JOptionPane;

public class Media {
   public static void main( String[] args ) {
      
      String ent1;
      String ent2;
      
      int num1;
      int num2;

      float media;

      ent1 = JOptionPane.showInputDialog( " Digite o 1º Inteiro ! " );
      num1 = Integer.parseInt( ent1 );

      ent2 = JOptionPane.showInputDialog( " Digite o 2º Inteiro ! " );
      num2 = Integer.parseInt( ent2 );

      media = num1 / num2;

      JOptionPane.showMessageDialog( null,
         " A média entre os números é = " + media, " Portal Java ",
         JOptionPane.INFORMATION_MESSAGE );

      System.exit( 0 );
   }
}

Espero q tenha ajudado!!

Abracao e te +

Somuca,

a divisão entre dois inteiros é um inteiro. Para que o resultado seja em float, converta esses inteiros antes para float.

O resultado de 5 / 3 é 1, o resultado de 5.0 / 3.0 é o que vc deseja…

[quote=“alcidesflach”] System.out.println( (float) 5 / 3 );
AlcidesFlach[/quote]

Cuidado pois o cast (float) converte apenas o termo que está a sua direita. no caso acima, apenas 5 seria float. Ele dividiria um float (5) por um int (3). O resultado seria int. Mude para:

System.out.println((float) 5 / float( 3 ));

poderia fazer assim?? funcionaria?

System.out.println( (float) (5/3) ); 

nao estou em casa pra testar isso agora…
mas acho q nao né? ta estranho isso… hehehe

da tb…

System.out.println( ( float ) ( 5 / 3 ) );

é equivalente a:

System.out.println( ( float ) 5 / ( float) 3 );

…é só questão de fazer o cast no lugar certo. :smiley:

Pessoal,

fiz a seguinte implementação que pode tirar todas as dúvidas:

class TesteInt2Float {
        public static void main(String[] args){
                System.out.println(5/3);
                System.out.println((float) 5 / 3);
                System.out.println((float) 5 / (float)3);
                System.out.println((float) (5/3) );
        }
}

A saída em tela é a seguinte:

espero ter ajudado… :slight_smile:

Boa Sorte!!!