如何在 JasperSoft Studio 中将数字格式化为 2.564.894.621?

How do I format a number as 2.564.894.621 in JasperSoft Studio?

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

2564894621

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

2.564.894.621

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

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

Properties >> TextField >> Pattern

要么你知道正确的 pattern,要么你使用 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>

并使用使用 . 作为分组分隔符的 Locale 导出,它将显示

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

JasperSoft Studio 中,可以在

中设置预览期间使用的语言环境

Window>>Preferences>>Report Execution: Locale

注:表达式如

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

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