GARANTIR DESCONTO

Fórum Máscara monetária #567394

09/04/2009

0

Tá ai uma pequena contribuição para o portal. Um classe que mascara valores monetários de acordo com o parâmetro passado. Para quem não sabe, o símbolo "¤" é uma representação neutra de moeda. O java substitui esse caractere pelo símbolo da moeda correspondente ao Locale Indicado.
/*
 * Moeda.java
 *
 * Created on 24 de Fevereiro de 2005, 21:09
 */

import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.util.Locale;

/**
 * Classe que padroniza a internacionalizacao de valores monetarios
 * @author Luiz Cavalcanti
 * @version 0.1
 * @see java.util.Locale
 * @see java.text.DecimalFormat
 * @see java.text.DecimalFormatSymbols
 */
public final class Moeda {
    
    /**
     * Simbolos especificos do Dolar Americano
     */
    private static final DecimalFormatSymbols DOLAR = new DecimalFormatSymbols(Locale.US);
    /**
     * Mascara de dinheiro para Dolar Americano
     */
    public static final DecimalFormat DINHEIRO_DOLAR = new DecimalFormat("¤ ###,###,##0.00",DOLAR);
    /**
     * Simbolos especificos do Euro
     */
    private static final DecimalFormatSymbols EURO = new DecimalFormatSymbols(Locale.GERMANY);
    /**
     * Mascara de dinheiro para Euro
     */
    public static final DecimalFormat DINHEIRO_EURO = new DecimalFormat("¤ ###,###,##0.00",EURO);
    /**
     * Locale Brasileiro
     */
    private static final Locale BRAZIL = new Locale("pt","BR");
    /**
     * S�mbolos especificos do Real Brasileiro
     */
    private static final DecimalFormatSymbols REAL = new DecimalFormatSymbols(BRAZIL);
    /**
     * Mascara de dinheiro para Real Brasileiro
     */
    public static final DecimalFormat DINHEIRO_REAL = new DecimalFormat("¤ ###,###,##0.00",REAL);
    
    /**
     * Mascara texto com formatacao monetaria
     * @param valor Valor a ser mascarado
     * @param moeda Padrao monetario a ser usado
     * @return Valor mascarado de acordo com o padrao especificado
     */
    public static String mascaraDinheiro(double valor, DecimalFormat moeda){
        return moeda.format(valor);
    }
}
Luiz Cavalcanti

Luiz Cavalcanti

Responder

Posts

09/04/2009

Luiz Cavalcanti

tanks cara ..mando bem ...tava precisando da uma esclarecida nisso e não achava muita coisa sobre..
Responder

Gostei + 0

09/04/2009

Hak

Mas quais paramentros eu passo?? * Mascara texto com formatacao monetaria * @param valor Valor a ser mascarado = OK = (Soh passar um valor tipo DOUBLE) * @param moeda Padrao monetario a ser usado = ???? (OQ Q EU PASSO AKI????)
Responder

Gostei + 0

09/04/2009

Kuesley

[quote="hak"]Mas quais paramentros eu passo?? * Mascara texto com formatacao monetaria * @param valor Valor a ser mascarado = OK = (Soh passar um valor tipo DOUBLE) * @param moeda Padrao monetario a ser usado = ???? (OQ Q EU PASSO AKI????)
Um exemplo que voce pode usar é assim:
Moeda m = new Moeda();    	
double salarioDoTioBill = 1923823023.921;
System.out.println(m.mascaraDinheiro(salarioDoTioBill, Moeda.DINHEIRO_REAL));
Note que ele criou na classe algumas mascaras padroes, basta passar no 2o. parametro: Moeda.DINHEIRO_EURO Moeda.DINHEIRO_DOLAR Moeda.DINHEIRO_REAL Abraços
Responder

Gostei + 0

09/04/2009

Hak

Hehehe.... vlw Kuesley.. agora, soh mais duvida.. se eu quiser adicionar outras moedas.... tentei aki mais naum consegui... dah uma olhada no codigo pra ver se vc acha alguma coisa errada..
/**
     * Símbolos específicos da Libra Inglesa
     */
    private static final DecimalFormatSymbols LIBRA = new DecimalFormatSymbols(Locale.UK);
    /**
     * Mascara de dinheiro para Libra Inglesa
     */
    private static final DecimalFormat DINHEIRO_LIBRA = new DecimalFormat("¤ ###,###,##0.00",LIBRA);
Responder

Gostei + 0

01/01/2013

Lucas Cruz

Olá amigos.... Neste tutorial, caso eu informe um valor negativo, o sinal de menos fica antes do símbolo R$, exemplo -R$ 1.000,00. Tem alguma forma de deixar o sinal de menos depois do símbolo R$ ??? Exemplo: R$ -1.000,00. Obrigado.
Responder

Gostei + 0

01/01/2013

Carlos H

[quote="lucas_duzo"]Olá amigos.... Neste tutorial, caso eu informe um valor negativo, o sinal de menos fica antes do símbolo R$, exemplo -R$ 1.000,00. Tem alguma forma de deixar o sinal de menos depois do símbolo R$ ??? Exemplo: R$ -1.000,00. Obrigado.
consulte a documentação do [color=green]DecimalFormat[/color], classe usada para a formatação no tutorial, se não me engano... Tenta algo como:
... new DecimalFormat("¤ ###,###,##0.00;¤ -###,###,##0.00", ...
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar