2013-07-27 19 views
2

我想在JSF格式化過程中隱藏打印的負值。我怎樣才能做到這一點。JSF在使用f時隱藏負號:convertNumber

例如

價值:-340 需要顯示爲:340.00 不像-340.00或(340.00)

這可能嗎?目前的代碼就是這樣,但不能隱藏負值。

<h:outputText value="#{paymentBill.amount}" > 
    <f:convertNumber pattern="#0.00" /> 
</h:outputText> 
+2

如何顯示值的絕對值? – perissf

+0

爲什麼?如果你欠他們錢呢?你必須告訴他們,而不是誤導他們付錢給你,而不是付給他們,或者將他們歸功於他們。 – EJP

+0

真實情況就是這樣。患者被收費。一定數量的錢在支付賬單中支付給相關醫生。這對醫院來說是一個負數,所以在付款單上它是負數。 –

回答

7

如果是<h:outputText>那麼你可以使用任意的EL表達式作爲其value,如果你與得到絕對值,而在你的託管bean準備數據,因爲它是正確的perissf和法裏德提出,像這樣不滿:

value="#{(paymentBill.amount lt 0) ? -paymentBill.amount : paymentBill.amount}" 
+0

謝謝。它完全解決了我的問題,很容易和邏輯。 –

0

您可以返回數量的絕對值在backing bean中。

返回Math.abs(amount)而不是金額。

+1

該邏輯屬於該視圖,因爲它只會更好地在視圖上應用函數或邏輯,而不是來自控制器。 –