Fórum Formatação numerica #501038

12/11/2014

0

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

Responder

Posts

12/11/2014

Ronaldo Lanhellas

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

Gostei + 0

12/11/2014

Janaina Mendes

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 );
        
      
    }
    
}

Responder

Gostei + 0

13/11/2014

Ronaldo Lanhellas

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;
Responder

Gostei + 0

13/11/2014

Janaina Mendes

Não consegui assimilar como fazer em meu codigo.
Responder

Gostei + 0

13/11/2014

Ronaldo Lanhellas

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.
Responder

Gostei + 0

13/11/2014

Janaina Mendes

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;);
Responder

Gostei + 0

13/11/2014

Ronaldo Lanhellas

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);
Responder

Gostei + 0

13/11/2014

Janaina Mendes

e aonde fica o :


double altura = 1.7;
double peso = 180;

Responder

Gostei + 0

13/11/2014

Ronaldo Lanhellas

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);
Responder

Gostei + 0

13/11/2014

Janaina Mendes

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


double imc = peso / (altura * altura); 

Responder

Gostei + 0

13/11/2014

Ronaldo Lanhellas

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

double imc = peso / Math.pow(altura,2);
Responder

Gostei + 0

13/11/2014

Janaina Mendes

Eleva ao quadrado?
Responder

Gostei + 0

14/11/2014

Ronaldo Lanhellas

Eleva ao quadrado?


Sim, elevar ao quadrado é o mesmo que multiplicar por ele mesmo, como você fez.
Responder

Gostei + 0

14/11/2014

Janaina Mendes

Está OK! obrigada.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar