我有一个查询,当使用掩码格式化金额时会反转掩码结果。
<f:convertNumber pattern="###,###,###,##0.00" />
正如你所看到的,十进制和百分位数的格式颠倒了,我把它们放到了java代码中。
<p:dataTable id="tablePapeletasPendientes"
var="item"
value="#{cPapeletaInfo.listaInfoPapeletas}"
selection="#{cPapeletaInfo.papeletaSelected}"
selectionMode="single"
rowKey="#{item.cPapele}"
rowIndexVar="rowIndex">
<p:column style="text-align: center;" >
<f:facet name="header">
<h:outputText value="#{msg['nro']}" />
</f:facet>
<h:outputText value="#{rowIndex + 1}" />
</p:column>
<p:column>
<f:facet name="header">
<h:outputLabel value="#{msg['papeleta.placa']}"/>
</f:facet>
<h:outputText value="#{item.cPlaca}" />
</p:column>
....
<p:column>
<f:facet name="header">
<h:outputLabel value="#{msg['papeleta.monto']}"/>
</f:facet>
<h:outputText value="#{item.nCuota}">
<f:convertNumber pattern="###,###,###,##0.00" />
</h:outputText>
</p:column>
<p:column>
<f:facet name="header">
<h:outputLabel value="#{msg['papeleta.reinc']}"/>
</f:facet>
<h:outputText value="#{item.nReInci}" >
<f:convertNumber pattern="###,###,###,##0.00" />
</h:outputText>
</p:column>
<p:column>
<f:facet name="header">
<h:outputLabel value="#{msg['papeleta.gastCost']}"/>
</f:facet>
<h:outputText value="#{item.gastosCostos}" >
<f:convertNumber pattern="###,###,###,##0.00" />
</h:outputText>
</p:column>
<p:column>
<f:facet name="header">
<h:outputLabel value="#{msg['papeleta.dcto']}"/>
</f:facet>
<h:outputText value="#{item.nDescuento}" >
<f:convertNumber pattern="###,###,###,##0.00" />
</h:outputText>
</p:column>
<p:column>
<f:facet name="header">
<h:outputLabel value="#{msg['papeleta.abonos']}"/>
</f:facet>
<h:outputText value="#{item.abonos}" >
<f:convertNumber pattern="###,###,###,##0.00" />
</h:outputText>
</p:column>
<p:column>
<f:facet name="header">
<h:outputLabel value="#{msg['total']}"/>
</f:facet>
<h:outputText value="#{item.total}" >
<f:convertNumber pattern="###,###,###,##0.00" />
</h:outputText>
</p:column>
</p:dataTable>
图片:http://i62.tinypic.com/2usk9d1.jpg
我希望对我的问题提出建议,或者使用转换器。
pattern
属性中的逗号只是表示如何在文本显示中分隔数字的一种方式。 locale
是实际决定使用哪个符号来分隔数字的因素。例如,在美国区域设置中,1000
将显示为1,000
但在越南区域设置中,数字将显示为 1.000
。服务器的默认区域设置必须与越南区域设置相似。因此,.
被用来分隔数千个地方。只需将 locale
属性的正确值添加到您的<f:convertNumber>
中即可。