Duvidas sobre fmt:formatNumber

7 respostas
V

Tem como formatar valor para o formato deste ( 1,000.00 ) formato para este formato (1.000,00) com jstl

7 Respostas

G

Tem sim:

<fmt:formatNumber type="NUMBER" value="${bean.valor}" minFractionDigits="2" />

Lembre que sua aplicação deve ter o locale como pt_BR. :wink:
Tipo:

<fmt:setLocale value="pt_BR" scope="application"/>

[]s

V

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.

V

e o retorno vindo como um array, faz diferença?

<fmt:formatNumber value="${array[5]}" />

G

Então, o teste que fiz, foi da seguinte maneira:

&lt;fmt:setLocale value="pt_BR" scope="application"/&gt;
1: &lt;fmt:formatNumber type="NUMBER" value="1000" minFractionDigits="2" /&gt;
<br/>
&lt;%
	BigDecimal valor = new BigDecimal(1000);
	request.setAttribute("valor", valor);

	BigDecimal[] array = {new BigDecimal(1000), new BigDecimal(1000.10)};
	request.setAttribute("array", array);
%&gt;
2. &lt;fmt:formatNumber type="NUMBER" value="${valor}" minFractionDigits="2" /&gt;

3. &lt;fmt:formatNumber type="NUMBER" value="${array[1]}" minFractionDigits="2" /&gt;

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

V

aki nao funciona
Eu uso um framework d desenvolvimento, será q existe a possibilidade do setLocale ser sobrescrevido?
Acho q acontece isso

G

Vijava:
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.

F
gleise:
Então, o teste que fiz, foi da seguinte maneira:
&lt;fmt:setLocale value="pt_BR" scope="application"/&gt;
1: &lt;fmt:formatNumber type="NUMBER" value="1000" minFractionDigits="2" /&gt;
<br/>
&lt;%
	BigDecimal valor = new BigDecimal(1000);
	request.setAttribute("valor", valor);

	BigDecimal[] array = {new BigDecimal(1000), new BigDecimal(1000.10)};
	request.setAttribute("array", array);
%&gt;
2. &lt;fmt:formatNumber type="NUMBER" value="${valor}" minFractionDigits="2" /&gt;

3. &lt;fmt:formatNumber type="NUMBER" value="${array[1]}" minFractionDigits="2" /&gt;

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.

Criado 12 de novembro de 2007
Ultima resposta 8 de dez. de 2007
Respostas 7
Participantes 3