Número decimal na JSP

7 respostas
N

Como faço pra formatar números vindo pra JSP… assim

10.000% queria q ficasse assim 10%

Valeu

7 Respostas

marcos.junqueira

Nino:
Como faço pra formatar números vindo pra JSP… assim

10.000% queria q ficasse assim 10%

Valeu

10.000% ou 10,000?

bom para formatar um número vc pode usar a JSTL

Use a seguinte tagLib no seu jsp

<%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="f"%>

depois

<f:formatNumber type="percentage" value="10"/>

ou se seu numero for dinamico

<f:formatNumber type="percentage" value="${valor}"/>
N

Mas assim queria formatar numeros com 2 casas decimais… ou 7 casas decimais… cada um com diferentes casas decimais…

Certo…

marcos.junqueira

cara, tem um campo da tag que vc especifica a quantidade de casas decimais, mas não me lembro agora qual eh… mas eh algo parecido com mindecimaldigits

N

Então eu estou usando assim

DecimalFormat df = new DecimalFormat();
df.applyPattern(“000,0000000”);

mas ao invés dele aparecer assim…

55,3512546

ele ta aperecendo assim

00,0000055

Vc tem ideia do seja isso…

marcos.junqueira

Cara sempre que possível não utilize código java no JSP, utilize as taglibs que eu te passei acima...

tente utilizar essa tag

&lt;f:formatNumber type="percentage" minFractionDigits="3" value="${numero}"/&gt;

aqui estão listados os outros abributos dela caso você queira fazer alguma modificação

value	
Numeric value to be formatted.
Required: false
Request-time: true
Type: java.lang.String

type	
Specifies whether the value is to be formatted as number, currency, or percentage. 
Required: false
Request-time: true
Type: java.lang.String

pattern	
Custom formatting pattern. 
Required: false
Request-time: true
Type: java.lang.String

currencyCode	
ISO 4217 currency code. Applied only when formatting currencies (i.e. if type is equal to "currency"); ignored otherwise. 
Required: false
Request-time: true
Type: java.lang.String

currencySymbol	
Currency symbol. Applied only when formatting currencies (i.e. if type is equal to "currency"); ignored otherwise. 
Required: false
Request-time: true
Type: java.lang.String

groupingUsed	
Specifies whether the formatted output will contain any grouping separators. 
Required: false
Request-time: true
Type: java.lang.String

maxIntegerDigits	
Maximum number of digits in the integer portion of the formatted output. 
Required: false
Request-time: true
Type: java.lang.String

minIntegerDigits	
Minimum number of digits in the integer portion of the formatted output. 
Required: false
Request-time: true
Type: java.lang.String

maxFractionDigits	
Maximum number of digits in the fractional portion of the formatted output. 
Required: false
Request-time: true
Type: java.lang.String

minFractionDigits	
Minimum number of digits in the fractional portion of the formatted output. 
Required: false
Request-time: true
Type: java.lang.String

var	
Name of the exported scoped variable which stores the formatted result as a String. 
Required: false
Request-time: false
Type: java.lang.String

scope	
Scope of var. 
Required: false
Request-time: false
Type: java.lang.String
R

Oi eu também estou com um problema parecido e sou iniciante de JSP.
O meu problema é com valor decimal mesmo:
Eu estou retirando o valor de uma tabela do tipo money no PostgreSQL, eu configurei este banco para o formato brasileiro, quando eu executo uma query em qualquer aplicativo o resultado é R$ 15,99, até ai tudo bem.
No entanto quando eu faço a mesma query na pagina JSP o resultado é $ 15.99, da pra usar a taglib falada acima pra resolver isto?

Obs.: eu estou demosntrando o resultado via tabela no html ex:
out.println("

" + res.getString(“preco”) + “”);
D

Estou com o mesmo problema, ja usei o ConvertNumber para tentar formatar e nao consigo resultado nenhum.
O meu campo na classe e BigDecimal.

<legend style="color:blue;">MTD</legend>
                                        <h:outputText value="Valor Md :" id="lblMtd" />
                                        <h:inputText id="txtValorMd" value="#{EventoBean.valorMD}" size="10">
                                            <f:convertNumber type="currency" currencySymbol="" currencyCode="true" pattern="##.###.#00,00"/>
                                        </h:inputText>
Criado 25 de outubro de 2006
Ultima resposta 1 de set. de 2008
Respostas 7
Participantes 4