ian*_*aré 6 currency jasper-reports
可能重复:
在jasper报告中将字符串格式化为货币格式
我正在使用JasperReports创建发票文档,需要进行本地化并支持多种货币.
因此,例如,当报告使用法语时,货币值应显示为1,00 €
或1,00 $
以美国英语显示为€ 0.02
或$ 1.00
.
至关重要的是,发票币种通常与当地货币不同,在某些情况下,同一单据中可能会使用多种货币.
我已经尝试使用包含的格式化工具:<textField pattern="¤ #,##0.00">
但是这不会根据区域设置更改格式,我找不到更改货币的方法(它只替换¤
报表的区域设置货币符号,所以错误的两者都有).
我在这里看一下:如何在Java中为Locale格式化Currency,但是在我的报告中没有找到使用它的方法.
谢谢!
好吧,我终于想通了,但是因为mods锁定了这个问题,据说它是重复的 - 它不是......不管怎样,这里有一个答案:
<variable name="CURRENCY" class="java.util.Currency">
<variableExpression><![CDATA[Currency.getInstance($F{currencyCode})]]></variableExpression>
</variable>
<variable name="CURRENCY_FORMAT" class="java.text.NumberFormat">
<variableExpression><![CDATA[
NumberFormat.getCurrencyInstance($P{REPORT_LOCALE});
((NumberFormat)value).setCurrency($V{CURRENCY})
]]></variableExpression>
</variable>
<textField>
<reportElement x="179" y="58" width="89" height="15"/>
<textFieldExpression><![CDATA[$V{CURRENCY_FORMAT}.format($F{revenueCents}/100)]]></textFieldExpression>
</textField>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5649 次 |
最近记录: |