Tem como formatar valor para o formato deste ( 1,000.00 ) formato para este formato (1.000,00) com jstl
Duvidas sobre fmt:formatNumber
7 Respostas
Tem sim:
<fmt:formatNumber type="NUMBER" value="${bean.valor}" minFractionDigits="2" />
Lembre que sua aplicação deve ter o locale como pt_BR. 
Tipo:
<fmt:setLocale value="pt_BR" scope="application"/>
[]s
nao funcionou direito.
esta tag tem q colocar no inicio da pagina?
pq eu coloquei no inicio e perto d onde imprime o valor
<fmt:setLocale value=“pt_BR” scope=“application”/>
se ajudar, o valor q vem do banco é big decimal.
e o retorno vindo como um array, faz diferença?
<fmt:formatNumber value="${array[5]}" />
Então, o teste que fiz, foi da seguinte maneira:
<fmt:setLocale value="pt_BR" scope="application"/>
1: <fmt:formatNumber type="NUMBER" value="1000" minFractionDigits="2" />
<br/>
<%
BigDecimal valor = new BigDecimal(1000);
request.setAttribute("valor", valor);
BigDecimal[] array = {new BigDecimal(1000), new BigDecimal(1000.10)};
request.setAttribute("array", array);
%>
2. <fmt:formatNumber type="NUMBER" value="${valor}" minFractionDigits="2" />
3. <fmt:formatNumber type="NUMBER" value="${array[1]}" minFractionDigits="2" />
Nos dois primeiros casos, o resultado foi o mesmo: 1.000,00 e no terceiro 1.000,10
Na duvida, dê uma olhada em: http://java.sun.com/products/jsp/jstl/1.1/docs/tlddocs/fmt/formatNumber.html
aki nao funciona
Eu uso um framework d desenvolvimento, será q existe a possibilidade do setLocale ser sobrescrevido?
Acho q acontece isso
aki nao funciona
Eu uso um framework d desenvolvimento, será q existe a possibilidade do setLocale ser sobrescrevido?
Acho q acontece isso
Sobre o setLocale, tem várias maneiras de setar o locale para uma aplicação.
Veja no framework que você usa como configurar o locale. Normalmente, os frameworks apresentam essa opção nos arquivos principais de configuração, principalmente se for um que tem a opção de internacionalização.
Então, o teste que fiz, foi da seguinte maneira:<fmt:setLocale value="pt_BR" scope="application"/> 1: <fmt:formatNumber type="NUMBER" value="1000" minFractionDigits="2" /> <br/> <% BigDecimal valor = new BigDecimal(1000); request.setAttribute("valor", valor); BigDecimal[] array = {new BigDecimal(1000), new BigDecimal(1000.10)}; request.setAttribute("array", array); %> 2. <fmt:formatNumber type="NUMBER" value="${valor}" minFractionDigits="2" /> 3. <fmt:formatNumber type="NUMBER" value="${array[1]}" minFractionDigits="2" />Nos dois primeiros casos, o resultado foi o mesmo: 1.000,00 e no terceiro 1.000,10
Na duvida, dê uma olhada em: http://java.sun.com/products/jsp/jstl/1.1/docs/tlddocs/fmt/formatNumber.html
Gleise eu te amo.