Formato de moeda

2 respostas
B

Olá a todos,

O objectivo é obter isto: € 1,000,000.00
Que é o formato em UK, USA, etc.

Isto é o que eu estou a fazer:

DecimalFormat twoDigitFormat = new DecimalFormat();
          twoDigitFormat.setMinimumFractionDigits(2);
          twoDigitFormat.setMaximumFractionDigits(2);

          DecimalFormatSymbols dfs = new DecimalFormatSymbols();
          dfs.setDecimalSeparator('.');
          dfs.setGroupingSeparator(',');

          twoDigitFormat.setDecimalFormatSymbols(dfs);
Exemplos de utilização:

twoDigitFormat.format(1000000.26); resultado obtido é: 1,000,000.26 (aqui está ok!)

twoDigitFormat.format(1000000); resultado obtido é: 1,000,000 (aqui não está bem pois eu preciso de apresentar as decimais, isto é deveria ficar assim: 1,000,000.00)

Alguém sabe como fazer?
Eu penso que deve ser possível definir isso no objecto dfs que criei em cima ou até no objecto twoDigitFormat, mas não estou a conseguir.

Aproveito para perguntar se é possível, quando chamar o método twoDigitFormat.format(1000000.26) colocar o símbolo do € (euro) do lado esquerdo, por exemplo: € 1,000,000.26

Agradeço a vossa ajuda.

Carlos

2 Respostas

D

Tenta algo assim…

Locale locale = new Locale( “pt”, “BR” );
DecimalFormatSymbols symbols = new DecimalFormatSymbols( locale );

String               strPattern = bMilhar ? "#,##0.0" : "###0.0";
    NumberFormat         format     = new DecimalFormat( strPattern, symbols );

    format.setMinimumFractionDigits( nDecimais );
    format.setMaximumFractionDigits( nDecimais );

esse é para formatar em português, para inglês mudaria o locale para

new Locale( “en”, “US” )

S
E ae, blz eu costumo fazer isto desta forma:
/*import:
	 * import java.util.*;
	 * import java.text.*;
	 * */	
		
	Locale pais = new Locale("France", "fr"); //aqui: pais e lingua
	double valor = 1000000;
	NumberFormat formate = NumberFormat.getCurrencyInstance(pais);
	System.out.print(formate.format(valor));

neste link vc pega as iso dos paises: lista de paises

assim vc pode formatar qualquer tipo de moeda.
nao sei se ajuda, mas acho desta forma + facil
:joia:

Criado 13 de junho de 2006
Ultima resposta 14 de jun. de 2006
Respostas 2
Participantes 3