Formatação numerica
Como formatar ou arrendondar numeros extensos?
exemplo: 62.28373702422146
queria arrendonda para 62.29 ou 62.28 não sei qual é o correto.
exemplo: 62.28373702422146
queria arrendonda para 62.29 ou 62.28 não sei qual é o correto.
Janaina Mendes
Curtidas 0
Respostas
Ronaldo Lanhellas
12/11/2014
Veja: https://docs.oracle.com/javase/7/docs/api/java/lang/Math.html#round(double)
GOSTEI 0
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
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
12/11/2014
Não consegui assimilar como fazer em meu codigo.
GOSTEI 0
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
12/11/2014
Serio Ronaldo, acho que estou ficando lerda, só pode ser isso, estou tentando pegar esse resultado com essas duas variaveis:
tentei apresentar assim, mas com erro já codigo
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
12/11/2014
Opa, mas você está fazendo uma atribuição dentro do System.out e isso está errado.
Faça assim:
Faça assim:
imc = Math.round(imc*100)/100D; System.out.println( "IMC: " + imc);
GOSTEI 0
Janaina Mendes
12/11/2014
e aonde fica o :
double altura = 1.7; double peso = 180;
GOSTEI 0
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
12/11/2014
Agora sim, deu certo, mas o calculo do IMC é assim:
double imc = peso / (altura * altura);
GOSTEI 0
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
12/11/2014
Eleva ao quadrado?
GOSTEI 0
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
12/11/2014
Está OK! obrigada.
GOSTEI 0