小编lam*_*bob的帖子

格式/模式问题 - 将 Int 附加到文本会导致格式错误

所以我遇到了JasperReports模式字段的问题。我创建了一个交叉表,我需要所有的都$F{ScoreMeasure}具有两位小数并附加“%”符号。例如,$F{ScoreMeasure}交叉表中的单元格应显示 25.42%。

我遇到的问题是我通过将“%”符号添加到文本字段表达式来附加“%”符号:$V{ScoreMeasure}+"%"。这对于整数来说效果很好。

当我尝试通过添加模式来添加两位小数#,##0.00并运行报告时,我得到一些字段有两位小数,而其他字段有多个小数(最多 8 位)。

如果我从文本字段表达式中删除附加文本(+“%”),我会得到正确的格式。但我不知道如何获得这两个?

以下是它在没有附加“%”的情况下工作时的摘录:

<crosstabCell width="73" height="25" rowTotalGroup="Name">
                    <cellContents backcolor="#005FB3" mode="Opaque">
                        <box>
                            <pen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
                        </box>
                        <textField pattern="#,##0.00">
                            <reportElement style="Crosstab Data Text" x="0" y="0" width="73" height="25" forecolor="#FFFFFF" uuid="50401fd4-b9b1-4bf2-bd74-9a0f083e77ff"/>
                            <textElement verticalAlignment="Middle">
                                <font fontName="Arial"/>
                            </textElement>
                            <textFieldExpression><![CDATA[$V{ScoreMeasure}
]]></textFieldExpression>
                        </textField>
                    </cellContents>
Run Code Online (Sandbox Code Playgroud)

这里附加了破坏格式的文本:

<crosstabCell width="73" height="25" rowTotalGroup="Name">
                    <cellContents backcolor="#005FB3" mode="Opaque">
                        <box>
                            <pen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
                        </box>
                        <textField pattern="#,##0.00">
                            <reportElement style="Crosstab Data Text" x="0" y="0" width="73" height="25" forecolor="#FFFFFF" uuid="50401fd4-b9b1-4bf2-bd74-9a0f083e77ff"/>
                            <textElement verticalAlignment="Middle"> …
Run Code Online (Sandbox Code Playgroud)

jasper-reports

3
推荐指数
1
解决办法
2607
查看次数

标签 统计

jasper-reports ×1