2010-08-08 7 views
1

Comment puis-je définir la précision pour un tel résultat EL?Comment définir la précision pour la division EL sur JSF

<h:outputText value="#{businessPlanPreviewBean.plan.a1 != 0 ? 
businessPlanPreviewBean.plan.a2/businessPlanPreviewBean.plan.a3 : 0 } " > 
</h:outputText> 

J'ai essayé <f:convertNumber maxFractionDigits="2" /> mais pas de chance ...

<f:convertNumber pattern="#,##" /> - la même chose

Mojarra JSF version mise en œuvre 1.2_14-b01-FCS

+0

Vous avez vraiment besoin de elaboarate les exigences et le problème plus en détail. Donnez quelques exemples d'entrée et ** les deux ** la sortie attendue et * réelle *. Peut-être que vous attendez un résultat complètement différent. – BalusC

+0

Avez-vous essayé l'attribut 'pattern'? – thelost

+0

Oui, la même chose –

Répondre

0

Le problème était très simple. L'attribut "value" contient un espace inutile à la fin. Donc, la valeur a un type de chaîne dans ce cas.

chaîne ne peut pas être formaté avec f:convertNumber.

0

Le <f:convertNumber maxFractionDigits="2" /> devrait fonctionner. L'avez-vous placé à l'intérieur du <h:outputText>? Quelle implémentation/version de JSF utilisez-vous? J'ai essayé la dernière version?


Mise à jour: si vous souhaitez l'afficher comme une monnaie, utilisez ce qui suit:

<f:convertNumber type="currency" currencySymbol="$" /> 

Ou si vous voulez avoir des fractions pour les nombres ronds ainsi, utiliser les éléments suivants:

<f:convertNumber pattern="#.##" /> 
+0

Oui, c'est l'intérieur . Version d'implémentation Sun JSF 1.2_14-b01-FCS. Je vais essayer la dernière version bientôt. –