Infinity

4 respostas
L

Olá Pessoal!!!

Tenho o seguinte, que está resultando em infinity:

[code]double q = (Math.pow(0.374 * larguraCentimetros * (3.3 * alturaCentimetros.doubleValue()), (1.56 * Math.pow(larguraCentimetros, 0.026)) * 3600)) / 3.6;

Como posso resolver isto?
Posso usar Double.parseDouble? Tentei, mas não funciona...

Obrigada!
Lah

4 Respostas

AlissonSchneider
[code]double q = (Math.pow(0.374 * larguraCentimetros * (3.3 * alturaCentimetros.doubleValue()), (1.56 * Math.pow(larguraCentimetros, 0.026)) * 3600)) / 3.6;

faltou fechar o code mas sem stress

sua variável já está do tipo double não é necessário usar o Double.parseDouble

espero ter ajudado

abras

:D

L

sorry pelo code…

então como faço para o resultado não dar infinity?

L

Bom, tive que fazer da forma mais primitiva. Algum parêntese não devia estar certoFicou feio, mas funcional…rs

double a = 0.374 * larguraCentimetros;
        double b = (3.3 * alturaCentimetros.doubleValue());
        double c = a * b;
        
        double d = Math.pow(larguraCentimetros, 0.026);
        double e = 1.56 * d;
        
        double f = Math.pow(c, e);
        double g = f * 3600;
        double q = g / 3.6;

Obrigada,
La

ViniGodoy

Seria bom também substituir esses números mágicos por constantes. Senão fica difícil para alguém adivinhar a que se referem os 0.374, 0.026, 1.56, etc…

Criado 19 de janeiro de 2011
Ultima resposta 21 de jan. de 2011
Respostas 4
Participantes 3