Dúvida: como formatar valores para moeda corrente em Java[RESOLVIDO]

Olá, minha dúvida é a seguinte: tenho um campo VALOR em minha tabela, este é do tipo VARCHAR, gostaria que o valor apresentado aparecesse formatado em R$.
Como posso fazer isso?
Desde já agradeço a ajuda. :wink:

DecimalFormat formatoDois = new DecimalFormat("##,###,###,##0.00", new DecimalFormatSymbols (new Locale ("pt", "BR")));
formatoDois.setMinimumFractionDigits(2); 
formatoDois.setParseBigDecimal (true);

sysout(formatoDois.format(valor));

valor deve ser do tipo double

Entendi, mas agora tenho que exibir o valor formatado em minha página jsp.
Como faço isso? :wink:

Se estiver utilizando JSTL

R$<fmt:formatNumber minFractionDigits=“2” value="${objeto.valor}"/>

nao eskeca de incluir a tag
<%@ taglib uri=“http://java.sun.com/jsp/jstl/fmt” prefix=“fmt”%>

[color=white](acho que reconheço esse código, mas que seja)[/color]

<%= formatoDois.format(valor) %>

Uma alternativa (melhor) ao DecimalFormat é o NumberFormat

Use o método getCurrencyInstance()

[]'s

Estou utilizando displaytag:

<display:column property="[3]" title="Valor" class="editar numero"/>

Tem como aplicar a formatação no código acima? :wink:

Acrescentei o atributo format conforme exibido abaixo, mas mesmo assim os valores não aparecem formatados.
<display:column property="[3]" title="Valor" class="editar numero" format="{0, number, #,##0.00}"/>

O que pode estar faltando fazer?
Desde já agradeço a atenção. :wink:

[quote=build_successful][code]
DecimalFormat formatoDois = new DecimalFormat("##,###,###,##0.00", new DecimalFormatSymbols (new Locale (“pt”, “BR”)));
formatoDois.setMinimumFractionDigits(2);
formatoDois.setParseBigDecimal (true);

sysout(formatoDois.format(valor));
[/code]

valor deve ser do tipo double[/quote]
Uma outra forma de fazer isso é utilizar NumberFormat como no exemplo:

NumberFormat formatoMoeda = NumberFormat.getCurrencyInstance(); System.out.println(formatoMoeda.format(45.7887));Você também pode passar apara o banco o formato da moeda caso use moedas de paises diferentes e fazer:

formatoMoeda.setCurrency(Currency.getInstance("USD")); System.out.println(formatoMoeda.format(45.7887));Para pegar a string do código da moeda conforme a ISO 4217 utilizada acima você pode fazer

	NumberFormat.getCurrencyInstance().getCurrency().getCurrencyCode();