Я показываю гистограмму и стараюсь, чтобы метки над столбцами отображались в правильной локали (они плавают). Я развиваюсь в JasperSoft Studio 6.2.0. Я установил глобальный и/или отчет (время выполнения) в en_US
, но метки все еще отображаются в локали Windows (nl_NL
). Затем я устанавливаю выражение метки вКак установить Locale на метки в диаграмме?
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 { Hours}) ', но это не позволяет мне установить шаблон и в любом случае далек от идеала. –
Вы можете использовать $ P {REPORT_FORMAT_FACTORY} .createNumberFormat ("#, ## 0.0 ##;"), $ P {REPORT_LOCALE}). Format ($ F {Hours}) Это создало бы новый форматтер для каждого вызова, что, очевидно, не идеально с точки зрения производительности. – dada67