#java #kotlin #locale #number-formatting
#java #kotlin #локаль #форматирование чисел
Вопрос:
Согласно https://docs.oracle.com/javase/7/docs/api/java/text/NumberFormat.html , NumberFormat.getInstance()
вы получите NumberFormat
экземпляр в текущей локали. Я хотел бы проверить после создания экземпляра, какой языковой стандарт использует подобный метод getLocale()
, но, похоже, такой метод там не задокументирован.
Лучшее, что я мог сделать, чтобы убедиться в этом, это вызвать Locale.getDefault()
в оболочке Kotlin ( kotlinc
):
>>> import java.math.BigDecimal
>>> import java.text.NumberFormat
>>> NumberFormat.getInstance().format(BigDecimal(1500))
1,500
>>> import java.util.Locale
>>> Locale.getDefault()
en_US
Нет NumberFormat.getLocale()
метода?
Ответ №1:
Нет
NumberFormat.getLocale()
метода?
Чего вы не можете сделать, так это вызвать тот же метод, который NumberFormat.getInstance()
выполняет под капотом:
Locale defaultLocale = Locale.getDefault(Locale.Category.FORMAT);
В Java 8 есть два Category
параметра: https://docs.oracle.com/javase/8/docs/api/java/util/Locale .Category.html. Если вам нужен DISPLAY
один, просто замените аргумент.