2010-10-27 5 views
1

Est-il en quelque sorte possible d'afficher uniquement les chiffres de la fraction avec fmt:formatNumber? J'ai fondamentalement besoin de rendre un double semblable au prix dans deux champs: chiffres décimaux et fraction (123.456 -> 123 456) et je veux éviter la fente de chaîne etc. :-)Seulement les chiffres de fraction avec fmt: formatNumber?

La solution doit également fonctionner avec un minimum nombre de chiffres de fraction afin de créer, par exemple ceci:

123.1 -> 123 01

Les données représentées est un prix qui est stocké sous la forme d'un nombre décimal pour une raison quelconque.

minFractionDigits="2" produirait .01 en sortie pour le second champ.

Un autre exemple de sortie serait:

123<span>01</span> 

Répondre

2

Oui:

<fmt:formatNumber maxIntegerDigits="0" /> 

Mise à jour:

Que diriez-vous multiplier par 100, 1000 ou quelque chose comme ça, et la sortie comme chiffres entiers . Dire:

<fmt:formatNumber maxIntegerDigits="3" value="${yourValue * 1000}" 
    maxFractionDigits="0" /> 

Ainsi, vous devrez réduire certains chiffres décimaux.

+0

Oui, cela fonctionne pour le cas de base mais malheureusement pas en combinaison avec minFractionDigits. Au moment où cela est ajouté, la sortie contient également la virgule. Désolé, j'ai oublié de mentionner cela dans la question. Je vais le mettre à jour dans une seconde. –

+0

@Horst Gutmann voir mis à jour – Bozho

+0

Bonne idée, merci :-) –

1

donné votre numéro: que vous pourriez faire avec mod Arithmétique mult/div & comme:

<fmt:formatNumber value="${((myNumber*100) - ((myNumber*100) mod 100)) div 100}"/> 

pour la première partie séparée (123) et similaire pour la partie de fraction. Assez laid et verbeux, mais une solution autonome.

Questions connexes