我的查询是 当用户选择德语时,该号码应以格式显示 - 千分隔应该是, 小数点分隔符应该是。
当所选语言为英语时,该号码应以以下格式显示 - 千分隔应该是。 (标准) 小数分隔符应该是,(标准)
我们可以根据参数更改来更改数字格式吗?
答案 0 :(得分:0)
可以通过在iReport中更改该特定字段的属性设置来完成,也可以直接在xml文件中更改。
你可以从下面的代码中获取refrance。
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports
http://jasperreports.sourceforge.net/xsd/jasperreport.xsd"
name="format_as_current" pageWidth="595" pageHeight="842"
whenNoDataType="AllSectionsNoDetail" columnWidth="555" leftMargin="20"
rightMargin="20" topMargin="20" bottomMargin="20">
<parameter name="intParam" class="java.lang.Integer">
<defaultValueExpression><![CDATA[12345678]]></defaultValueExpression>
</parameter>
<parameter name="strParam" class="java.lang.String">
<defaultValueExpression><![CDATA["12345678.95"]]></defaultValueExpression>
</parameter>
<title>
<band height="79" splitType="Stretch">
<textField>
<reportElement x="137" y="18" width="291" height="20"/>
<textElement/>
<textFieldExpression><![CDATA[new java.text.DecimalFormat("$ #,##0.00").format($P{intParam})]]></textFieldExpression>
</textField>
<textField>
<reportElement x="137" y="48" width="291" height="20"/>
<textElement/>
<textFieldExpression><![CDATA[new java.text.DecimalFormat("$ #,##0.00").format(Double.valueOf($P{strParam} != null && $P{strParam}.length() > 0 ? Double.valueOf($P{strParam}) : 0))]]></textFieldExpression>
</textField>
</band>
</title>
答案 1 :(得分:0)
对于任何报告,都有一个名为$ P {REPORT_LOCALE}的参数 您可以使用此参数来定义数字的格式。使用第三个参数,我们称之为$ P {Number_format},你可以根据语言环境定义这种格式。