f:convertNumber不能用于我的字符串

时间:2017-12-31 00:58:47

标签: jsf

我有一个我要显示的浮点数。 我想格式化十进制数字。所以我试过这个:

<h:outputText value=" #{wui.remainingTime > 0? wui.remainingTime : '-' } h" rendered="#{wui.status eq 3}" >

     <f:convertNumber minFractionDigits="2" maxFractionDigits="2"/>

</h:outputText>

我也试过了pattern =“#0.00”

但都没有奏效。显示屏仍然如下:166.66667 h

1 个答案:

答案 0 :(得分:2)

" #{wui.remainingTime > 0? wui.remainingTime : '-' } h"会生成一个无法格式化为数字的字符串。您最好将其拆分为多个输出文本,并指示要渲染哪些文本:

<h:panelGroup rendered="#{wui.status eq 3}">
    <h:outputText value="#{wui.remainingTime}"
                  rendered="#{wui.remainingTime gt 0}">
        <f:convertNumber minFractionDigits="2" maxFractionDigits="2"/>
    </h:outputText>
    <h:outputText value="-" rendered="#{wui.remainingTime le 0}"/>
    <h:outputText value=" h"/>
</h:panelGroup>