quinta-feira, 6 de março de 2014

Formatando um tipo Double para moeda

Converter valores monetarios em um Double sempre foram um problema
para programadores principiantes , principalmente no quesito separação das
casas decimais, e se fosse possível resolver esse problema com poucas
linhas de código ?
-seria perfeito.
É possivel , temos a classe NumberFormat
do pacote java.text que é responsavel por formatações
e manipulações de textos no Java , e o melhor?
- ela é nativa?
acertou!
pois bem vamos lá para a explicação marota do código :

primeiramente iremos importar nossa classe

import java.text.*; //aqui estamos importando todas as classes
do pacote java.text , não é nescessario isso ,esta ai para que
você encontre por si só a forma correta de resolver isso.

proximo passo :
dentro do método main criei a variavel primitiva do tipo Double

Double valor = 9990.0; //essa belezinha que iremos formatar

String f; //criei uma String para receber o valor formatado
é interessante frizar que : esse método é valido para mostrar
o valor para o cliente e não manipular valores com ele pois uma String
para valores não é uma boa pratica de programação(Gambiarray).

f = NumberFormat.getCurrencyInstance().format(valor);
o que entendemos por esse código?
simples : f recebe da Classe NumberFormat o método getCurrencyInstance
que pega a moeda corrente e te
 retorna uma instancia de NumberFormat
para você pegar o método format que recebe como parametro
o valor a ser formatado.

como resolver aquele pepino la do import?
simples : java.text.NumberFormat;

System.out.println(f);//exibe o f já formatado
$9,990.00

valeu, falou!

Nenhum comentário:

Postar um comentário