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