格式化/模式问题 - 用文本追加Int导致格式错误
所以我遇到了问题与JasperReports模式字段。我创建了一个交叉表,并且我需要所有的$F{ScoreMeasure}
都有两位小数,并附上一个“%”符号。因此,例如交叉表中$F{ScoreMeasure}
的单元格应显示25.42%。格式化/模式问题 - 用文本追加Int导致格式错误
我碰到的问题是我通过将它添加到文本字段表达式中附加了“%”符号:$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>
这里,它被附加与它打破了格式的文本:
<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>
任何跨来这个?有关如何解决的任何建议?
好了,该解决方案是我选择的模式“自定义格式”我加入的模式进行两位小数### 0.00并试图用%符号附加。所以我的自定义模式看起来像###0.00%;-###0.00%
。
但是,当它运行时,它将数字bu 100乘以数。事实证明:“在格式化之前,模式中百分比字符的存在导致该值乘以100”。
所以为了避免这种情况,你在%符号周围加引号。因此,最终的模式如下:###0.00'%';-###0.00'%'
运行时,那么你将有%符号
如何点击您要定制的字段。
转到属性
转到图案,然后单击数字 - >单击十进制的2个空格 然后按确定。
然后再回到模式并转到自定义格式。 然后在正文和负数部分的文本字段中输入一个百分比 然后按确定。
编辑 如何制作领域的字符串,然后追加像百分号:
$F{ScoreMeasure}.toString()+"%"
嘿丽卡让你的两个小数位,试过(### 0.00%; - ### 0.00%),但再次追加“%”符号导致问题。一旦我添加它似乎自动默认为百分比模式,由于某种原因,它被设置为123,443.21,因此它导致小数点下移两个空格,例如36.66到3666。50% 要对模式设置和#标记的工作方式进行一些研究 – lampbob 2014-09-29 12:46:53
@lampbob我更改或编辑了我的答案。如果你愿意,看看。 – Rika 2014-09-29 18:56:48
嗨Rika,欢呼你的帮助。这不起作用,因为我需要它作为某种形式的int(数字)以及应用了一个样式参数。得到的解决方案,并将其添加 – lampbob 2014-09-30 16:30:55
有趣的,我会记得那一个 – Rika 2014-09-30 16:44:54