Как я могу использовать NumberFormat
для форматирования значения double
для заданного Locale
(обычно используется локаль по умолчанию) и для заданного количества десятичных знаков?
Например, у меня есть следующие значения:
double d1 = 123456.78;
double d2 = 567890;
И я хочу напечатать их следующим образом, например, с помощью US locale и 2 десятичных знаков:
123,456.78
567,890.00
В этом случае я действительно не забочусь о режиме округления, потому что эти двойные значения получены из BigDecimal
с заданным масштабом, поэтому их количество десятичных знаков всегда меньше или равно числу десятичных знаков я хотите распечатать.
Edit:
Чтобы сделать вещи более ясными, дело в том, что я хочу отображать деньги в зависимости от языка, но с фиксированным числом десятичных знаков. В приведенном выше примере показано, как значения должны быть отформатированы, если локаль системы en_US
. Теперь скажем, что языковой стандарт системы cs_CZ
(чешский), поэтому одинаковые номера должны быть отформатированы следующим образом:
123 456,78
567 890,00
Теперь, как я могу настроить NumberFormat для отображения всего 2 десятичных знаков, но для отображения разделителей тысяч и десятичной точки на основе текущей локали?