JSF在使用f:convertNumber时隐藏负号

JSF在使用f:convertNumber时隐藏负号,jsf,Jsf,我想在JSF中格式化期间隐藏负数。我怎样才能做到这一点 比如说, 值:-340 需要显示为:340.00 不像-340.00或(340.00) 可能吗?当前代码是这样的,但不能隐藏负值 <h:outputText value="#{paymentBill.amount}" > <f:convertNumber pattern="#0.00" /> </h:outputText> 您可以返回支持bean中金额的绝对值 返回Math.abs(amount

我想在JSF中格式化期间隐藏负数。我怎样才能做到这一点

比如说,

值:-340 需要显示为:340.00 不像-340.00或(340.00)

可能吗?当前代码是这样的,但不能隐藏负值

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

您可以返回支持bean中金额的绝对值

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

如果它是
,那么您可以使用任意EL表达式作为其
值,如果您对在托管bean中准备数据时获取绝对值非常不满意,就像perissf和fareed正确建议的那样,例如:

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

显示值的绝对值怎么样?为什么?如果你欠他们钱怎么办?你必须告诉他们这一点,不要误导他们向你支付,而不是你向他们支付,或记入他们的贷方。实际情况是这样的。病人付费。在付款单中向相关医生支付一定金额的款项。对于医院来说,这是一个负数,所以在付款单中它是负数。那么,为什么你要隐瞒这个事实呢?病人向医院付款。这是医院的收入。所以它们被记录为加号。医院收费医生。这是医院的费用。因此,它们在系统中被标记为负数。因此,从账单实体继承的账单账单和付款账单的集合将给出准确的收入。但是,当医生的付款单上标明了负数时,他们会要求医院是否扣除了一些钱。这是客户的要求。所以我必须满足这个要求。希望你明白我的意思,谢谢。这个逻辑属于视图,最好只在视图上应用函数或逻辑,而不是从控制器上应用。