我正在显示一个条形图并试图让正确的语言环境(它们是浮动)显示在酒吧上方的标签。我正在开发JasperSoft Studio 6.2.0。我将全局和/或报告(执行时间)区域设置为en_US
,但标签仍显示在我的Windows区域设置(nl_NL
)中。然后我将标签表达式设置为如何将区域设置设置为条形图中的标签?
new DecimalFormat("#,##0.0##;(#,##0.0##-)").format($F{Hours})
但它仍然在Windows语言环境中。只有当我明确设置标签表达en_US
区域:
NumberFormat.getInstance(Locale.US).format($F{Hours})
做我得到正确的结果。在其他地方(TextFields),设置格式模式(例如"#,##0.0##;(#,##0.0##-)"
)会导致应用正确的语言环境。在条形图设置中,没有办法以相同的方式指定模式,这就是为什么我试图在代码中这样做。
这是一个错误还是我错过了什么?
我看到我可以使用'NumberFormat.getInstance($ P {REPORT_LOCALE})。format($ F {小时})',但这并不能让我设定模式,而且远非理想。 –
您可以使用$ P {REPORT_FORMAT_FACTORY} .createNumberFormat(“#,## 0.0 ##;(#,## 0.0 ## - )”,$ P {REPORT_LOCALE})。格式($ F {Hours}) 这将在每次调用时创建一个新的格式化程序,从性能角度来看这显然不理想。 – dada67