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.
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?
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) %>
Estou utilizando displaytag:
<display:column property="[3]" title="Valor" class="editar numero"/>
Tem como aplicar a formatação no código acima?
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.
[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();