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

Fala galera.

Estou com uma dúvida…

Tenho um valor no banco de dados de 1000000000.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 1000000000.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

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

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

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

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

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

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)

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.

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