8

我需要打印一些大值。一个值看起来像这样

2564894621

现在我想将浮点值格式化为:

2.564.894.621

我正在使用 Jaspersoft Studio 开发我的碧玉报告。

4

1 回答 1

25

在 jasper 报告中格式化的最佳方法是使用textField标记上的模式属性。这将保持正确的类(数字),当导出到例如 excel 时,excel 可以将其识别为数字并且也将应用相同的模式。

属性 >> 文本字段 >> 模式

要么您知道正确的模式,要么您使用 IDE 来帮助您生成它

IDE

jrxml 结果

<textField pattern="#,##0">
   <reportElement x="0" y="0" width="200" height="25" uuid="ee49d149-394b-4ac6-a0a2-6d207b0c8d89"/>
   <textElement>
      <font fontName="DejaVu Serif" size="14"/>
    </textElement>
    <textFieldExpression><![CDATA[$F{myNumber}]]></textFieldExpression>
</textField>

使用使用. 作为分组分隔符,它将显示

结果

如果您的结果使用分组分隔符则这不取决于模式,而仅取决于您的语言环境,请参见:How to invert the comma and dot when number formatting

JasperSoft Studio中,预览期间使用的语言环境可以设置为

窗口>>首选项>>报告执行:区域设置

注意:表达式如

<textFieldExpression><![CDATA[new DecimalFormat("#,##0").format($F{myNumber})]]></textFieldExpression>

也可以使用,但最好避免使用,因为导出管理器会将其视为仅文本

于 2016-02-10T15:02:20.313 回答