[RESPONDIDO] Limite de números em float e long

Olá, eu tenho a seguinte fórmula:

(5* x * x* x - 150 * x * x + 400 * x) / 3

Aonde x = número que tu quer obter o resultado

O problema é que sempre que eu uso a variável como float, quando x > 86 que o resultado seria acima de 10,000,000 em um número inteiro, ele fica assim: 1.02426E7 (exemplo de x = 87)

Ou, quando coloco em Long, vai mais longe o range dos números

porém quando x > 351 o resultado é assim, no exemplo de 352: -710900565

x = 351 em float, seria 714,612,600

O detalhe é que, eu preciso de um range maior, como uso pra “decodificar” esses números que recebo? ou não é possível pegar resultados assim com java?

bom eu usei a sua formula e o resultado foi diferente.

 public static void main(String[] args) {
       
        Long x = 352L;
        Long res = (5* x * x* x - 150 * x * x + 400 * x) / 3 ;
        System.out.println(res);
    }
    

ele imprime isso:

66542080

Man, eu tinha errado a formula, ao invés de 5 é 50. Mas testei e deu certo. Acho que aquele L dps do número é o que resolve, não tinha feito aquilo ainda. Testei com números maiores e isso resolveu o que eu precisava. Valeu cara. :slight_smile:
Como da rep ou algo do tipo ?

ehehhe de boa! , só marca como [RESPONDIDO] lá. FALOWS !

Tinha ficado sem entrar no fórum k
Marquei como respondido já