Float notação cientifica para notação literal?

8 respostas
S

Fala galera.

Estou com uma dúvida…

Tenho um valor no banco de dados de [telefone removido].00

Coloco ele no java como float mas ele vem como notação cientifica: 1.0E9

Mas preciso calcular isso com um float pequeno, por exemplo [telefone removido].00 - 0.38 e dar uma saída como notação literal.

Como transformo ou uso um float em notação cientifica em float notação literal?

tentei usar double mas também vem como cientifico.

[]'s

8 Respostas

ViniGodoy

Use BigDecimal.
http://blogs.oracle.com/CoreJavaTechTips/entry/the_need_for_bigdecimal

S

Mas usando o BigDecimal tenho que refazer todos os meus cálculos usando métodos próprio do BigDecimal?

só tem esse jeito mesmo?

[]'s

mauricioadl

tive esse problema recentemente com o banco Oracle e nao teve jeito, teve q ser BigDecimal

ViniGodoy

Não é um problema de banco. O problema maior é que floats, são imprecisos.

S

Bom, to mudando tudo aqui, hehehe

É que é um mega trabalho, pq estou fazendo um jogo, então imagina quantos cálculos e quantos floats eu tenho, hehehe

mas vamos que vamos.

valeu pela ajuda

rogelgarcia

Você nao tem que transformar o número… ele é um só…
A notação nao é do número… e sim da maneira como imprime…

http://download.oracle.com/javase/1.4.2/docs/api/java/text/DecimalFormat.html

(Mas usa double… usa float nao)

S

Mas eu faço cálculos do tipo 100000000 - 0.38 e seu eu tenho um 1.0e9 não consigo subtrair por -0.38, tem que converter do mesmo jeito.

rogelgarcia

Então é como vinigodoy falou… BigDecimal…

Mas eu acho que esse número aí… cabe em um double sim…

Reforçando: Se você quer modificar apenas a forma como imprime (cientifica ou decimal) não tem que converter o número… só configurar a impressao do número

Se quer um número gigante… usa BigDecimal

Criado 20 de junho de 2011
Ultima resposta 21 de jun. de 2011
Respostas 8
Participantes 4