tem alguma funcao em q eu peguei um float ou double e ele fique com no maximo duas casas decimais depois da virgula?
oq kero eh mutiplicar dois numero float, e isso vai ser em Reais, so q fica as vezes um numero mt absurdo d grande ou ele noa arrendonda, do tipo, 0.99999999999
[quote=Mark_Ameba]Uma duvida o format me retorna uma variavel ou muda a minha??
é pq eu só uso em métodos mas na hora de passar o valor pra outros métodos[/quote]
O format transforma objetos em strings e vice_versa. No caso, numeros em strings. Não tem sequer como se pensar que existe uma alteração. A resposta é: não. Ele gera um novo objeto.
Para moedas, procure usar BigDecimal. É um horror usar (requer um(a) ____* enorme), mas não dá esses resultados malucos, se você souber usar.
Se não puder usar BigDecimal, use double. Funciona bem quando você sabe BEM o que está fazendo. Por exemplo, comparar dois valores double é perigoso, principalmente quando você quer saber se ambos são iguais.
Só em casos extremos use float; a precisão é tão pequena que dá problemas quase todo o tempo (mesmo para calcular seu salário ). Acho que você só deve usar float quando a biblioteca que você usa exige que você passe algum parâmetro ou array de floats (como é o caso do Java2D).
Ponha o seu palavrão preferido aqui, sinônimo de “paciência”.