Используйте NumberFormat или DecimalFormat - PullRequest
8 голосов
/ 19 февраля 2010

В большинстве случаев, как мы можем обосновать, когда мы будем использовать

NumberFormat.getInstance();

Когда мы будем использовать

new DecimalForamt(...);

Ответы [ 3 ]

5 голосов
/ 19 февраля 2010

Если вы хотите указать формат ваших чисел, вы должны использовать конструктор DecimalFormat. Если вы хотите, «как большинство чисел представлены в моей текущей локали», то используйте экземпляр NumberFormat по умолчанию.

1 голос
/ 19 июля 2015

У меня была такая же проблема с локалью. Вы можете создать объект DecimalFormat для локали США, создав экземпляр NumberFormat и затем приведя его к DecimalFormat. Вот что говорит Oracle:

В предыдущем примере был создан объект DecimalFormat для локали по умолчанию. Если вам нужен объект DecimalFormat для ненулевого Locale, вы создаете экземпляр NumberFormat, а затем приводите его к DecimalFormat. Вот пример:

NumberFormat nf = NumberFormat.getNumberInstance(loc);

DecimalFormat df = (DecimalFormat)nf;

df.applyPattern(pattern);

String output = df.format(value);

System.out.println(pattern + " " + output + " " + loc.toString());

https://docs.oracle.com/javase/tutorial/i18n/format/decimalFormat.html

1 голос
/ 19 февраля 2010

NumberFormat.getInstance фактически получает средство форматирования на основе локали и числового стиля. Это может фактически вернуть объект DecimalFormat (). «DecimalFormat - это конкретный подкласс NumberFormat, который форматирует десятичные числа "- из JDK Javadocs

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...