Monetário

7 respostas
Hammer

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.[telefone removido]

tem como corrigir isso?

7 Respostas

matheuscechito

float variavelFloat = 0.[telefone removido]; DecimalFormat formato = new DecimalFormat(); formato.applyPattern("##0.00"); formato.format(variavelFloat);

t+

R

usa a classe DecimalFormat:
http://java.sun.com/j2se/1.4.2/docs/api/java/text/DecimalFormat.html

Marky.Vasconcelos

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

sergiotaborda

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

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.

Hammer

vlw pela ajuda.

mister_m

Se você quer trabalhar com precisão decimal, não use formatadores; use BigDecimal.

T

De modo geral:

  • 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 :stuck_out_tongue: ). 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”.
Criado 13 de junho de 2007
Ultima resposta 13 de jun. de 2007
Respostas 7
Participantes 7