我最初编写了一个使用JasperReports的桌面应用程序。JasperReports中的Web应用程序中的货币问题
在此应用程序中,用户可以动态更改区域设置,并且此更改将反映在报告中。这工作正常。
我有一个具有相同功能的Web应用程序。一切工作正常,除了货币符号,我得到¤而不是符号。日期根据语言环境正确格式化,数字格式也是如此。唯一的问题是货币符号。我在桌面应用程序中没有这个问题,即使我在两种情况下都使用完全相同的jrxml文件来生成报告。所以这个问题不能来自jrxml文件。 有谁知道如何解决这个问题?
UPDATE: 好吧,如果我使用命令
myLocale = Locale.CANADA;
,然后我通过myLocale变量的碧玉报告一切正常,但因为我的web应用程序,用户可以选择任何一个语言环境,他/她要我创建一个循环方式如下:
Locale myLocale = Locale.getDefault();
Locale[] locales = Locale.getAvailableLocales();
int localeCount = locales.length;
for (int i = 0; i < localeCount; i++) {
if (locales[i].getDisplayName().equals(##Whatever the user chose##))
myLocale = locales[i];
}
在这种情况下,当我传递变量myLocale到碧玉报告我得到的货币符号上面提到的问题(但不能与数字格式和日期)。有人能指出上面的代码有什么问题吗?谢谢。
这篇文章可以帮助你:[在碧玉报告中将字符串格式化为货币格式](http://stackoverflow.com/q/10913495/876298) – 2014-09-25 11:00:10
该链接没有帮助我。抱歉。 – user3245747 2014-09-25 12:48:01