2010-02-19 12 views

Odpowiedz

3

Jeśli chcesz określić swoje numery są sformatowane, a następnie musisz użyć konstruktora DecimalFormat. Jeśli chcesz "sposób w jaki większość liczb jest reprezentowana w moich bieżących ustawieniach narodowych", użyj domyślnej instancji NumberFormat.

1

Funkcja NumberFormat.getInstance pobiera formater w oparciu o styl lokalizacji i numer. Może faktycznie zwrócić obiekt DecimalFormat(). "DecimalFormat jest konkretną podklasą NumberFormat, która formatuje liczby dziesiętne" - Od JDK javadocs

1

Miałem ten sam problem dotyczący ustawień regionalnych. Możesz utworzyć obiekt DecimalFormat dla locale w USA, tworząc instancję NumberFormat, a następnie przesyłając ją do DecimalFormat. Oto, co mówi Oracle:

W powyższym przykładzie utworzono obiekt DecimalFormat dla domyślnych ustawień regionalnych. Jeśli chcesz obiekt DecimalFormat dla niedozwolonego ustawienia narodowego, wykonaj instancję obiektu NumberFormat, a następnie przesuń go do formatu DecimalFormat. Oto przykład:

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

Powiązane problemy