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