Formatação numerica

Java

12/11/2014

Como formatar ou arrendondar numeros extensos?

exemplo: 62.28373702422146

queria arrendonda para 62.29 ou 62.28 não sei qual é o correto.
Janaina Mendes

Janaina Mendes

Curtidas 0

Respostas

Ronaldo Lanhellas

Ronaldo Lanhellas

12/11/2014

Veja: https://docs.oracle.com/javase/7/docs/api/java/lang/Math.html#round(double)
GOSTEI 0
Janaina Mendes

Janaina Mendes

12/11/2014

Confesso que não entendi nada desse forum, cbrt? IEEEremainder? ceil?


package padrão;

public class ComandosBasicos {

   
    public static void main(String[] args) {        
        // entrada
        
        double altura = 1.7;
        double peso = 180;
       
        
        
        // processamento       
        double imc = peso / (altura * altura);        
      
        
        // saida       
        System.out.println( "IMC: " + imc );
        
      
    }
    
}

GOSTEI 0
Ronaldo Lanhellas

Ronaldo Lanhellas

12/11/2014

Bom, são muitos métodos e formas para arredondar um número, o que seria inviável explicar por aqui. Para simplificar a resposta, partindo do seu primeiro tópico, use o round da seguinte forma:

double value = 123.401293123;
		double value2 = Math.round(value*100)/100D;
GOSTEI 0
Janaina Mendes

Janaina Mendes

12/11/2014

Não consegui assimilar como fazer em meu codigo.
GOSTEI 0
Ronaldo Lanhellas

Ronaldo Lanhellas

12/11/2014

Não consegui assimilar como fazer em meu codigo.


Bom, o value é a variável que você quer arredondar, o value2 é a variável arredondada. Sendo assim, você realiza a multiplicação interna dentro do método round e ele lhe retorna o valor arredondado. Em outras palavras, é só substituir o value pelo valor que você deseja arredondar.
GOSTEI 0
Janaina Mendes

Janaina Mendes

12/11/2014

Serio Ronaldo, acho que estou ficando lerda, só pode ser isso, estou tentando pegar esse resultado com essas duas variaveis:


        double altura = 1.7;
        double peso = 180;



tentei apresentar assim, mas com erro já codigo

System.out.println( "IMC: " + imc = Math.round(imc*100)/100D;);
GOSTEI 0
Ronaldo Lanhellas

Ronaldo Lanhellas

12/11/2014

Opa, mas você está fazendo uma atribuição dentro do System.out e isso está errado.

Faça assim:

imc = Math.round(imc*100)/100D;
System.out.println( "IMC: " + imc);
GOSTEI 0
Janaina Mendes

Janaina Mendes

12/11/2014

e aonde fica o :


double altura = 1.7;
double peso = 180;

GOSTEI 0
Ronaldo Lanhellas

Ronaldo Lanhellas

12/11/2014

Postei só parte do código, o completo seria:

double altura = 1.7;
double peso = 180;
double imc = peso / altura;
imc = Math.round(imc*100)/100D;
System.out.println( "IMC: " + imc);
GOSTEI 0
Janaina Mendes

Janaina Mendes

12/11/2014

Agora sim, deu certo, mas o calculo do IMC é assim:


double imc = peso / (altura * altura); 

GOSTEI 0
Ronaldo Lanhellas

Ronaldo Lanhellas

12/11/2014

Correto, na verdade o mais elegante seria usar o POW, assim como na fórmula:

double imc = peso / Math.pow(altura,2);
GOSTEI 0
Janaina Mendes

Janaina Mendes

12/11/2014

Eleva ao quadrado?
GOSTEI 0
Ronaldo Lanhellas

Ronaldo Lanhellas

12/11/2014

Eleva ao quadrado?


Sim, elevar ao quadrado é o mesmo que multiplicar por ele mesmo, como você fez.
GOSTEI 0
Janaina Mendes

Janaina Mendes

12/11/2014

Está OK! obrigada.
GOSTEI 0
POSTAR