Preciso saber qual pattern devo usar para completar meu número com zeros à esquerda para que tudo tenha 6 dígitos.
Por exemplo:
31023 -> 031023
213 -> 000213
1 -> 000001
Preciso saber qual pattern devo usar para completar meu número com zeros à esquerda para que tudo tenha 6 dígitos.
Por exemplo:
31023 -> 031023
213 -> 000213
1 -> 000001
Cria um CustomConverter. Que eu saiba o f:convertNumber está preparado para converter para Integer, Long, Double, etc. Não sei se ele faz isso para String.
O CustomConverter é o que eu uso atualmente. Um colega, porém, disse que ACHA que dá pra fazer pelo convertNumber.
Não tive resultados no google então vim perguntar ao oráculo antes de condenar o pobre coitado, rs
ve se minIntegerDigits=“6” resolve
Bem, antes de qualquer coisa, tenta bindar esse campo com uma String. Vê se não acontecesse exceção, pois não sei se o f:convertNumber salva String (sempre uso bindado para Long, Integer, Double, etc.). Se não der certo, já desiste. Se der, aí você continua.
O minIntegerDigits=“6” coloca um ponto no meio da String, não sei porquê, mas resolvi usando um pattern.
Ficou assim:
<f:convertNumber pattern="#####0" minIntegerDigits="6" />
Obrigado
Use “pattern”. Exemplo, para 6 dígitos com zeros à esquerda:
http://www.mkyong.com/jsf2/jsf-2-convertnumber-example/
<h:outputText value="#{receipt.amount}" >
<f:convertNumber pattern="000000" />
</h:outputText>
Para os padrões permitidos, veja:
http://docs.oracle.com/javase/6/docs/api/java/text/DecimalFormat.html - veja em “Special Pattern Characters”.
//Resolveu
<f:convertNumber pattern="000000" />
//Resolveu também
<f:convertNumber minIntegerDigits="6" />
Obrigado aos dois