W większości przypadków, w jaki sposób możemy uzasadnić, gdy będziemy używaćZastosowanie numberFormat lub DecimalFormat
NumberFormat.getInstance();
Gdy będziemy używać
new DecimalForamt(...);
W większości przypadków, w jaki sposób możemy uzasadnić, gdy będziemy używaćZastosowanie numberFormat lub DecimalFormat
NumberFormat.getInstance();
Gdy będziemy używać
new DecimalForamt(...);
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.
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
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