我正在顯示一個條形圖並試圖讓正確的語言環境(它們是浮動)顯示在酒吧上方的標籤。我正在開發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