Formato Double [RESOLVIDO]

6 respostas
M

Bom dia!
Tenho um problema de conversões aqui.
Na minha maquina,que é um windows 2000 portugues, estou formatando um double assim:

Double valor =deposito.getValor();

DecimalFormat valord = new DecimalFormat("#,##0.00");

String valorFormatado = valord.format(valor.doubleValue());

No windows em portugues aparece assim: 1.234.236,85
que é exatamente como esperavamos.
Agora tanto no windows server em ingles quanto no linux o mesmo resultado de conversão aparece assim:1,234,236.85
Ao observar o windows 2000 server em ingles ,deixei os valores numeros e monetários de acordo com o portugues mas na opção
Agrupamento de digitos no portugues tem a opção 123.456.789 e no ingles só tem 123,456,789

eu tentei mudar a mascara para #.##0,00 mas dá erro dizendo que nao pode ser traduzido pra esta mascara.
Algum jeito de solucionar isso? Acho que fdeve ter um jeito de não usar as configuraçõers regionais pra isso…só não sei como é…alguem tem alguma opinião?

6 Respostas

_fs

Tente

NumberFormat df = DecimalFormat.getInstance( new Locale( "pt", "BR" ) );
System.out.println( df.format( 1234236.85 ) );
M

Obrigadão ai! Resolveu o problema!!!

T

NumberFormat é um tipo de objeto nativo do Java?

cv1

O que seria um “objeto nativo” do Java?

T

é um tipo de objeto próprio do java tipo String, Double, Integer… e assim por diante

_fs

Sim, esta classe é distribuída no JSDK.

Criado 20 de abril de 2005
Ultima resposta 28 de jun. de 2005
Respostas 6
Participantes 4