Formatação de moeda

7 respostas
A

Pessoal,

To precisando do locale que com o DecimalFormat formate a moeda da seguinte forma 1?000?000.00. Vcs sabem qual é? Testei todos e nenhum fez deste jeito.

Alberto

7 Respostas

T

Aqui apareceu um ponto de interrogação.

Você tem o código Unicode desse caracter que é separador de milhares?

De qualquer maneira, você pode criar um novo objeto DecimalFormatSymbols, chamar o seu método setGroupingSeparator com o caracter adequado para os milhares, e então passar esse objeto DecimalFormatSymbols para o construtor de DecimalFormat.

A

Desculpa Thingol, o separador de milhar é '. Tipo 1’000’000.00

Alberto

T

Que formato curioso.

OFF-TOPIC - Uma vez vi uma calculadora japonesa que separava os milhares de 4 em 4 (em japonês e chinês os números são separados em dezenas de milhares, não em milhares), e fazia as contas assim:

Você entra: [telefone removido]
Ela mostrava: 12億3456万7890

A

Thingol,

No construtor do DecimalFormat ele pede um String pattern alem do DecimalFormatSymbol, vc saberia para que seria esse pattern e me fornecer um exemplo?

Alberto

T

O “Pattern” serve para você especificar a formatação. Para moeda, no seu caso:

“#,##0.00”

que quer dizer: separe de 3 em 3 casas, e deixe no mínimo 1 dígito antes do ponto, e 2 depois do ponto.

A

Valeu Thingol, funcionou beleza.

Alberto

L

Olá, estou enfrentando esse probleminha de formatação de moeda, pois estou precisando fazer algumas verificações p/ formatar somente caso o usuário digite uma virgula ou ponto.

Por exemplo: Se o usuário digitar:

–> 500
Continua 500

–> 500.2 ou 500,2
Formata para 500,20

–> 500, ou 500.
Formata para 500,00

Isso usando swing… teria alguma forma de utilizar os métodos internos do formattedTextField p/ isso? Como poderia fazer?

Criado 3 de abril de 2007
Ultima resposta 5 de abr. de 2007
Respostas 7
Participantes 3