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
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.
Na tentativa de multiplicar dois doubles e imprimir no console estou com um erro meio loco, como sou iniciante, espero que alguem possa me dizer alguma maneira de solucionar. Eu multiplico 7.9 * 3.0 e o resultado sai 23.700000000000003, e o certo...
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