Класс NumberFormat

Все реализованные интерфейсы:
Serializable, Cloneable
Прямые известные подклассы:
ChoiceFormat, DecimalFormat
public abstract class NumberFormat
extends Format

NumberFormat является абстрактным базовым классом для всех форматов чисел. Этот класс предоставляет интерфейс для форматирования и разбора чисел. NumberFormat также предоставляет методы для определения локалей, имеющих числовые форматы, и их названий.

NumberFormat помогает вам форматировать и разбирать числа для любой локали. Ваш код может быть полностью независимым от локальных соглашений для десятичных знаков, разделителей тысяч или даже конкретных десятичных цифр, или от того, является ли числовой формат десятичным.

Для форматирования числа для текущей локали используйте один из методов фабричного класса:

myString = NumberFormat.getInstance().format(myNumber);
Если вы форматируете несколько чисел, более эффективно получить формат и использовать его несколько раз, чтобы система не должна была многократно получать информацию о соглашениях языка и страны.
NumberFormat nf = NumberFormat.getInstance();
for (int i = 0; i < myNumber.length; ++i) {
    output.println(nf.format(myNumber[i]) + "; ");
}
Для форматирования числа для другой локали укажите её в вызове getInstance.
NumberFormat nf = NumberFormat.getInstance(Locale.FRENCH);

Если локаль содержит "nu" (числа) и/или "rg" (переопределение региона) расширения Юникода, десятичные цифры и/или страна, используемая для форматирования, переопределяются. Если оба "nu" и "rg" указаны, десятичные цифры из расширения "nu" переопределяют неявные цифры из расширения "rg".

Вы также можете использовать NumberFormat для разбора чисел:

myNumber = nf.parse(myString);
Используйте getInstance или getNumberInstance для получения обычного числового формата. Используйте getIntegerInstance для получения целого числового формата. Используйте getCurrencyInstance для получения числового формата валюты. И используйте getPercentInstance для получения формата для отображения процентов. С этим форматом дробь, например, 0.53, отображается как 53%.

Вы также можете управлять отображением чисел с помощью таких методов, как setMinimumFractionDigits. Если вам нужен еще больший контроль над форматированием или разбором, или вы хотите предоставить пользователям больший контроль, вы можете попытаться привести NumberFormat , полученный из методов фабрики, к типу DecimalFormat. Это будет работать для подавляющего большинства локалей; просто не забудьте поместить его в try блок на случай, если вы столкнетесь с необычной.

NumberFormat и DecimalFormat разработаны таким образом, что некоторые элементы управления работают для форматирования, а другие - для разбора. Ниже приведено подробное описание каждого из этих методов управления.

setParseIntegerOnly : влияет только на разбор, например, если true, "3456.78" → 3456 (и оставляет позицию разбора сразу после индекса 6), если false, "3456.78" → 3456.78 (и оставляет позицию разбора сразу после индекса 8). Это независимо от форматирования. Если вы хотите не отображать десятичную точку, где может не быть цифр после десятичной точки, используйте setDecimalSeparatorAlwaysShown.

setDecimalSeparatorAlwaysShown : влияет только на форматирование, и только там, где может не быть цифр после десятичной точки, например, с шаблоном вроде "#,##0.##", например, если true, 3456.00 → "3,456.", если false, 3456.00 → "3456". Это независимо от разбора. Если вы хотите, чтобы разбор останавливался на десятичной точке, используйте setParseIntegerOnly.

Вы также можете использовать формы методов parse и format с ParsePosition и FieldPosition , чтобы позволить вам:

  • поэтапно разбирать фрагменты строки
  • выравнивать десятичную точку и другие области
Например, вы можете выровнять числа двумя способами:
  1. Если вы используете моноширинный шрифт с отступами для выравнивания, вы можете передать FieldPosition в свой вызов формата, при этом field = INTEGER_FIELD. На выходе getEndIndex будет установлен в смещение между последним символом целой части и десятичной. Добавьте (desiredSpaceCount - getEndIndex) пробелов в начало строки.
  2. Если вы используете пропорциональные шрифты, вместо заполнения пробелами, измерьте ширину строки в пикселях от начала до getEndIndex. Затем перед рисованием текста сместите перо на (desiredPixelWidth - widthToAlignmentPoint). Это также работает, когда нет десятичной точки, но, возможно, есть дополнительные символы в конце, например, с скобками в отрицательных числах: "(12)" для -12.

Синхронизация

Форматы чисел обычно не синхронизируются. Рекомендуется создавать отдельные экземпляры формата для каждого потока. Если к формату одновременно обращаются несколько потоков, он должен быть синхронизирован внешним образом.

Требования к реализации:
Методы format(double, StringBuffer, FieldPosition), format(long, StringBuffer, FieldPosition) и parse(String, ParsePosition) могут выбросить NullPointerException, если любой из их параметров null. Подкласс может предоставить собственную реализацию и спецификацию по NullPointerException.

В реализации по умолчанию используются режимы округления, определённые в RoundingMode для форматирования чисел. Используется алгоритм округления «округлить до ближайшего чётного» (round half-even). Для изменения режима округления используйте setRoundingMode. NumberFormat возвращаемый статическими методами-фабриками, настроен для округления чисел с плавающей точкой с использованием алгоритма округления «округлить до ближайшего чётного» (см. RoundingMode.HALF_EVEN) для форматирования.

С:
1.1
См. также:
DecimalFormat, ChoiceFormat, Serialized Form

Вложенные классы

Модификатор и тип Класс Описание
static class  NumberFormat.Field

Определяет константы, которые используются в качестве ключей атрибутов в AttributedCharacterIterator возвращаемом NumberFormat.formatToCharacterIterator и в качестве идентификаторов полей в FieldPosition.

Краткое описание полей

Модификатор и тип Поле Описание
static int FRACTION_FIELD

Постоянная поля, используемая для построения объекта FieldPosition.

static int INTEGER_FIELD

Постоянная поля, используемая для построения объекта FieldPosition.

Краткое описание конструкторов

Модификатор Конструктор Описание
protected NumberFormat()

Единственный конструктор.

Методы

Модификатор и тип Метод Описание
Object clone()

Переопределяет Cloneable.

boolean equals​(Object obj)

Переопределяет equals.

String format​(double number)

Специализация format.

abstract StringBuffer format​(double number, StringBuffer toAppendTo, FieldPosition pos)

Специализация format.

String format​(long number)

Специализация format.

abstract StringBuffer format​(long number, StringBuffer toAppendTo, FieldPosition pos)

Специализация format.

StringBuffer format​(Object number, StringBuffer toAppendTo, FieldPosition pos)

Форматирует число и добавляет полученный текст в предоставленный буфер строк.

static Locale[] getAvailableLocales()

Возвращает массив всех локалей, для которых методы get*Instance этого класса могут возвращать локализованные экземпляры.

Currency getCurrency()

Получает валюту, используемую этим форматом числа при форматировании значений валюты.

static NumberFormat getCurrencyInstance()

Возвращает формат валюты для текущей локале по умолчанию FORMAT.

static NumberFormat getCurrencyInstance​(Locale inLocale)

Возвращает формат валюты для указанной локали.

static NumberFormat getInstance()

Возвращает числовой формат общего назначения для текущей локали по умолчанию FORMAT.

static NumberFormat getInstance​(Locale inLocale)

Возвращает числовой формат общего назначения для указанной локали.

static NumberFormat getIntegerInstance()

Возвращает целочисленный числовой формат для текущей локали по умолчанию FORMAT.

static NumberFormat getIntegerInstance​(Locale inLocale)

Возвращает целочисленный числовой формат для указанной локали.

int getMaximumFractionDigits()

Возвращает максимальное количество цифр, разрешенных в дробной части числа.

int getMaximumIntegerDigits()

Возвращает максимальное количество цифр, разрешенных в целой части числа.

int getMinimumFractionDigits()

Возвращает минимальное количество цифр, разрешенных в дробной части числа.

int getMinimumIntegerDigits()

Возвращает минимальное количество цифр, разрешенных в целой части числа.

static NumberFormat getNumberInstance()

Возвращает числовой формат общего назначения для текущей локали по умолчанию FORMAT.

static NumberFormat getNumberInstance​(Locale inLocale)

Возвращает числовой формат общего назначения для указанной локали.

static NumberFormat getPercentInstance()

Возвращает формат процентов для текущей локали по умолчанию FORMAT.

static NumberFormat getPercentInstance​(Locale inLocale)

Возвращает формат процентов для указанной локали.

RoundingMode getRoundingMode()

Получает RoundingMode, используемый в этом NumberFormat.

int hashCode()

Переопределяет hashCode.

boolean isGroupingUsed()

Возвращает true, если в этом формате используется группировка.

boolean isParseIntegerOnly()

Возвращает true, если этот формат будет анализировать числа только как целые.

Number parse​(String source)

Анализирует текст с начала заданной строки для получения числа.

abstract Number parse​(String source, ParsePosition parsePosition)

Возвращает Long, если возможно (например, в диапазоне [Long.MIN_VALUE, Long.MAX_VALUE] и без десятичных знаков), иначе Double.

Object parseObject​(String source, ParsePosition pos)

Парсит текст из строки для создания Number.

void setCurrency​(Currency currency)

Устанавливает валюту, используемую этим форматом числа при форматировании значений валюты.

void setGroupingUsed​(boolean newValue)

Устанавливает, будет ли использоваться группировка в этом формате.

void setMaximumFractionDigits​(int newValue)

Устанавливает максимальное количество цифр, разрешённых в дробной части числа. maximumFractionDigits должно быть ≥ minimumFractionDigits.

void setMaximumIntegerDigits​(int newValue)

Устанавливает максимальное количество цифр, разрешённых в целой части числа. maximumIntegerDigits должно быть ≥ minimumIntegerDigits.

void setMinimumFractionDigits​(int newValue)

Устанавливает минимальное количество цифр, разрешённых в дробной части числа. minimumFractionDigits должно быть ≤ maximumFractionDigits.

void setMinimumIntegerDigits​(int newValue)

Устанавливает минимальное количество цифр, разрешённых в целой части числа. minimumIntegerDigits должно быть ≤ maximumIntegerDigits.

void setParseIntegerOnly​(boolean value)

Устанавливает, должны ли числа парситься только как целые.

void setRoundingMode​(RoundingMode roundingMode)

Устанавливает RoundingMode, используемый в этом NumberFormat.

Методы, унаследованные от класса java.text.Format

format, formatToCharacterIterator, parseObject

Методы, унаследованные от класса java.lang.Object

finalize, getClass, notify, notifyAll, toString, wait, wait, wait

Поля

INTEGER_FIELD

public static final int INTEGER_FIELD

Постоянная для поля, используемого для создания объекта FieldPosition. Указывает, что необходимо вернуть позицию целой части отформатированного числа.

См. также:
FieldPosition, Постоянные значения полей

FRACTION_FIELD

public static final int FRACTION_FIELD

Постоянная для поля, используемого для создания объекта FieldPosition. Указывает, что необходимо вернуть позицию дробной части отформатированного числа.

См. также:
FieldPosition, Постоянные значения полей

Конструкторы

NumberFormat

protected NumberFormat()

Единственный конструктор. (Для вызова конструкторами подклассов, обычно неявным.)

Методы

format

public StringBuffer format(Object number,
                           StringBuffer toAppendTo,
                           FieldPosition pos)

Форматирует число и добавляет полученный текст в заданный буфер строк. Число может быть любого подкласса Number.

Эта реализация извлекает значение числа с помощью Number.longValue() для всех целочисленных типов значений, которые могут быть преобразованы в long без потери информации, включая BigInteger значения с bit length меньше 64, и Number.doubleValue() для всех остальных типов. Затем она вызывает format(long,java.lang.StringBuffer,java.text.FieldPosition) или format(double,java.lang.StringBuffer,java.text.FieldPosition). Это может привести к потере информации о величине и точности для BigInteger и BigDecimal значений.

Specified by:
format в классе Format
Параметры:
number - число для форматирования
toAppendTo - буфер строк, в который будет добавлен отформатированный текст
pos - отслеживает позицию поля в возвращаемой строке. Например, при форматировании числа 1234567.89 в Locale.US локали, если заданный fieldPosition равен INTEGER_FIELD, начальный и конечный индексы fieldPosition будут установлены соответственно в 0 и 9 для выходной строки 1,234,567.89.
Возвращает:
переданное значение в виде toAppendTo
Исключение:
IllegalArgumentException - если number равно null или не является экземпляром Number.
NullPointerException - если toAppendTo или pos равно null
ArithmeticException - если необходима округление, а режим округления установлен в RoundingMode.UNNECESSARY
См. также:
FieldPosition

parseObject

public final Object parseObject(String source,
                                ParsePosition pos)

Парсит текст из строки для получения Number.

Метод пытается разобрать текст, начиная с индекса, заданного pos. Если разбор успешен, то индекс pos обновляется до индекса после последнего используемого символа (разбор не обязательно использует все символы до конца строки), и возвращается разобранное число. Обновленный pos может использоваться для указания стартовой точки для следующего вызова этого метода. Если произошла ошибка, то индекс pos не изменяется, индекс ошибки pos устанавливается на индекс символа, где произошла ошибка, и возвращается null.

См. метод parse(String, ParsePosition) для получения дополнительной информации о разборе чисел.

Specified by:
parseObject в классе Format
Параметры:
source - Строка, часть которой должна быть обработана.
pos - Объект ParsePosition с информацией об индексе и индексе ошибки, как описано выше.
Возвращает:
Число, разобранное из строки. В случае ошибки возвращает null.
Исключение:
NullPointerException - если source или pos равно null.

format

public final String format(double number)

Специализация format.

Параметры:
number - число типа double для форматирования
Возвращает:
отформатированная строка
Исключение:
ArithmeticException - если необходима округление, а режим округления установлен в RoundingMode.UNNECESSARY
См. также:
Format.format(java.lang.Object)

format

public final String format(long number)

Специализация format.

Параметры:
number - число типа long для форматирования
Возвращает:
отформатированная строка
Исключение:
ArithmeticException - если необходима округление, а режим округления установлен в RoundingMode.UNNECESSARY
См. также:
Format.format(java.lang.Object)

format

public abstract StringBuffer format(double number,
                                    StringBuffer toAppendTo,
                                    FieldPosition pos)

Специализация format.

Параметры:
number - двойное число для форматирования
toAppendTo - StringBuffer, в который будет добавлен отформатированный текст
pos - отслеживает позицию поля в возвращаемой строке. Например, для форматирования числа 1234567.89 в формате Locale.US, если заданный fieldPosition равен INTEGER_FIELD, начальный и конечный индексы fieldPosition будут установлены соответственно в 0 и 9 для выходной строки 1,234,567.89.
Возвращает:
отформатированный StringBuffer
Выбрасывает:
ArithmeticException - если требуется округление с режимом округления RoundingMode.UNNECESSARY
См. также:
Format.format(java.lang.Object)

format

public abstract StringBuffer format(long number,
                                    StringBuffer toAppendTo,
                                    FieldPosition pos)

Специализация форматирования.

Параметры:
number - целое число типа long для форматирования
toAppendTo - StringBuffer, в который будет добавлен отформатированный текст
pos - отслеживает позицию поля в возвращаемой строке. Например, для форматирования числа 123456789 в формате Locale.US, если заданный fieldPosition равен INTEGER_FIELD, начальный и конечный индексы fieldPosition будут установлены соответственно в 0 и 11 для выходной строки 123,456,789.
Возвращает:
отформатированный StringBuffer
Выбрасывает:
ArithmeticException - если требуется округление с режимом округления RoundingMode.UNNECESSARY
См. также:
Format.format(java.lang.Object)

parse

public abstract Number parse(String source,
                             ParsePosition parsePosition)

Возвращает Long, если возможно (например, в диапазоне [Long.MIN_VALUE, Long.MAX_VALUE] и без десятичных знаков), в противном случае Double. Если IntegerOnly установлен, процесс завершится на десятичной точке (или эквиваленте; например, для рациональных чисел "1 2/3" – после 1). Не генерирует исключение; если объект не может быть проанализирован, индекс остаётся неизменным!

Параметры:
source - строка для анализа
parsePosition - позиция для анализа
Возвращает:
проаналированное значение
См. также:
isParseIntegerOnly(), Format.parseObject(java.lang.String, java.text.ParsePosition)

parse

public Number parse(String source)
             throws ParseException

Анализирует текст с начала заданной строки для получения числа. Метод может не использовать весь текст заданной строки.

Подробнее об анализе чисел см. метод parse(String, ParsePosition).

Параметры:
source - Строка, начало которой необходимо проанализировать.
Возвращает:
Число, проанализированное из строки.
Выбрасывает:
ParseException - если начало указанной строки не может быть проанализировано.

isParseIntegerOnly

public boolean isParseIntegerOnly()

Возвращает true, если этот формат будет анализировать числа только как целые числа. Например, в английском формате, если ParseIntegerOnly равен true, строка "1234." будет проанализирована как целое число 1234, и анализ остановится на символе ".". Конечно, точный формат, принимаемый операцией анализа, зависит от локали и определяется подклассами NumberFormat.

Возвращает:
true если числа должны анализироваться только как целые числа; false в противном случае

setParseIntegerOnly

public void setParseIntegerOnly(boolean value)

Устанавливает, должны ли числа анализироваться только как целые числа.

Параметры:
value - true если числа должны анализироваться только как целые числа; false в противном случае
См. также:
isParseIntegerOnly()

getInstance

public static final NumberFormat getInstance()

Возвращает числовой формат общего назначения для текущей локали по умолчанию FORMAT. Это то же самое, что вызов getNumberInstance().

Возвращает:
экземпляр NumberFormat для форматирования чисел общего назначения

getInstance

public static NumberFormat getInstance(Locale inLocale)

Возвращает числовой формат общего назначения для указанной локали. Это то же самое, что вызов getNumberInstance(inLocale).

Параметры:
inLocale - желаемая локаль
Возвращает:
экземпляр NumberFormat для форматирования чисел общего назначения

getNumberInstance

public static final NumberFormat getNumberInstance()

Возвращает числовой формат общего назначения для текущей локали по умолчанию FORMAT.

Это эквивалентно вызову getNumberInstance(Locale.getDefault(Locale.Category.FORMAT)).

Возвращает:
экземпляр NumberFormat для форматирования чисел общего назначения
См. также:
Locale.getDefault(java.util.Locale.Category), Locale.Category.FORMAT

getNumberInstance

public static NumberFormat getNumberInstance(Locale inLocale)

Возвращает форматировщик чисел общего назначения для указанного региона.

Параметры:
inLocale - желаемый регион
Возвращает:
экземпляр NumberFormat для форматирования чисел общего назначения

getIntegerInstance

public static final NumberFormat getIntegerInstance()

Возвращает форматировщик целых чисел для текущего стандартного региона FORMAT. Возвращаемый форматировщик чисел настроен на округление чисел с плавающей запятой до ближайшего целого с использованием округления по методу «ближайшее чётное» (см. RoundingMode.HALF_EVEN) при форматировании и для разбора только целой части входной строки (см. isParseIntegerOnly).

Это эквивалентно вызову getIntegerInstance(Locale.getDefault(Locale.Category.FORMAT)).

Возвращает:
форматировщик чисел для целых значений
С:
1.4
См. также:
getRoundingMode(), Locale.getDefault(java.util.Locale.Category), Locale.Category.FORMAT

getIntegerInstance

public static NumberFormat getIntegerInstance(Locale inLocale)

Возвращает форматировщик целых чисел для указанного региона. Возвращаемый форматировщик чисел настроен на округление чисел с плавающей запятой до ближайшего целого с использованием округления по методу «ближайшее чётное» (см. RoundingMode.HALF_EVEN) при форматировании и для разбора только целой части входной строки (см. isParseIntegerOnly).

Параметры:
inLocale - желаемый регион
Возвращает:
форматировщик чисел для целых значений
С:
1.4
См. также:
getRoundingMode()

getCurrencyInstance

public static final NumberFormat getCurrencyInstance()

Возвращает форматировщик валюты для текущего стандартного региона FORMAT.

Это эквивалентно вызову getCurrencyInstance(Locale.getDefault(Locale.Category.FORMAT)).

Возвращает:
экземпляр NumberFormat для форматирования валюты
См. также:
Locale.getDefault(java.util.Locale.Category), Locale.Category.FORMAT

getCurrencyInstance

public static NumberFormat getCurrencyInstance(Locale inLocale)

Возвращает форматировщик валюты для указанного региона.

Параметры:
inLocale - желаемый регион
Возвращает:
экземпляр NumberFormat для форматирования валюты

getPercentInstance

public static final NumberFormat getPercentInstance()

Возвращает форматировщик процентов для текущего стандартного региона FORMAT.

Это эквивалентно вызову getPercentInstance(Locale.getDefault(Locale.Category.FORMAT)).

Возвращает:
экземпляр NumberFormat для форматирования процентов
См. также:
Locale.getDefault(java.util.Locale.Category), Locale.Category.FORMAT

getPercentInstance

public static NumberFormat getPercentInstance(Locale inLocale)

Возвращает форматировщик процентов для указанного региона.

Параметры:
inLocale - желаемый регион
Возвращает:
экземпляр NumberFormat для форматирования процентов

getAvailableLocales

public static Locale[] getAvailableLocales()

Возвращает массив всех регионов, для которых методы get*Instance этого класса могут вернуть локализованные экземпляры. Возвращаемый массив представляет собой объединение регионов, поддерживаемых Java-runtime и установленными реализациями NumberFormatProvider. Он должен содержать как минимум экземпляр Locale равный Locale.US.

Возвращает:
Массив регионов, для которых доступны локализованные экземпляры NumberFormat.

hashCode

public int hashCode()

Переопределяет hashCode.

Переопределяет:
hashCode в классе Object
Возвращает:
значение хэш-кода для этого объекта.
См. также:
Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)

equals

public boolean equals(Object obj)

Переопределяет equals.

Переопределяет:
equals в классе Object
Параметры:
obj - объект-ссылка для сравнения.
Возвращает:
true если этот объект такой же, как аргумент obj; false в противном случае.
См. также:
Object.hashCode(), HashMap

clone

public Object clone()

Переопределяет Cloneable.

Переопределяет:
clone в классе Format
Возвращает:
клонированный экземпляр.
См. также:
Cloneable

isGroupingUsed

public boolean isGroupingUsed()

Возвращает true, если группировка используется в этом формате. Например, в английском языке с включенной группировкой число 1234567 может быть отформатировано как "1 234 567". Разделитель группировки и размер каждой группы зависят от локали и определяются подклассами NumberFormat.

Возвращает:
true если группировка используется; false в противном случае
См. также:
setGroupingUsed(boolean)

setGroupingUsed

public void setGroupingUsed(boolean newValue)

Устанавливает, будет ли использоваться группировка в этом формате.

Параметры:
newValue - true если группировка используется; false в противном случае
См. также:
isGroupingUsed()

getMaximumIntegerDigits

public int getMaximumIntegerDigits()

Возвращает максимальное количество цифр, разрешенных в целой части числа.

Возвращает:
максимальное количество цифр
См. также:
setMaximumIntegerDigits(int)

setMaximumIntegerDigits

public void setMaximumIntegerDigits(int newValue)

Устанавливает максимальное количество цифр, разрешенных в целой части числа. maximumIntegerDigits должно быть ≥ minimumIntegerDigits. Если новое значение maximumIntegerDigits меньше текущего значения minimumIntegerDigits, то minimumIntegerDigits также будет установлено в новое значение.

Параметры:
newValue - максимальное количество цифр целой части; если меньше нуля, то используется ноль. Конкретный подкласс может установить верхний предел для этого значения, соответствующий типу числа, которое форматируется.
См. также:
getMaximumIntegerDigits()

getMinimumIntegerDigits

public int getMinimumIntegerDigits()

Возвращает минимальное количество цифр, разрешенных в целой части числа.

Возвращает:
минимальное количество цифр
См. также:
setMinimumIntegerDigits(int)

setMinimumIntegerDigits

public void setMinimumIntegerDigits(int newValue)

Устанавливает минимальное количество цифр, разрешенных в целой части числа. minimumIntegerDigits должно быть ≤ maximumIntegerDigits. Если новое значение minimumIntegerDigits превышает текущее значение maximumIntegerDigits, то maximumIntegerDigits также будет установлено в новое значение.

Параметры:
newValue - минимальное количество цифр целой части; если меньше нуля, то используется ноль. Конкретный подкласс может установить верхний предел для этого значения, соответствующий типу числа, которое форматируется.
См. также:
getMinimumIntegerDigits()

getMaximumFractionDigits

public int getMaximumFractionDigits()

Возвращает максимальное количество цифр, разрешенных в дробной части числа.

Возвращает:
максимальное количество цифр.
См. также:
setMaximumFractionDigits(int)

setMaximumFractionDigits

public void setMaximumFractionDigits(int newValue)

Устанавливает максимальное количество цифр, разрешенных в дробной части числа. maximumFractionDigits должно быть ≥ minimumFractionDigits. Если новое значение maximumFractionDigits меньше текущего значения minimumFractionDigits, то minimumFractionDigits также будет установлено в новое значение.

Параметры:
newValue - максимальное количество цифр дробной части; если меньше нуля, то используется ноль. Конкретный подкласс может установить верхний предел для этого значения, соответствующий типу числа, которое форматируется.
См. также:
getMaximumFractionDigits()

getMinimumFractionDigits

public int getMinimumFractionDigits()

Возвращает минимальное количество цифр, разрешенных в дробной части числа.

Возвращает:
минимальное количество цифр
См. также:
setMinimumFractionDigits(int)

setMinimumFractionDigits

public void setMinimumFractionDigits(int newValue)

Устанавливает минимальное количество цифр, разрешенных в дробной части числа. minimumFractionDigits должно быть ≤ maximumFractionDigits. Если новое значение minimumFractionDigits превышает текущее значение maximumFractionDigits, то maximumIntegerDigits также будет установлено в новое значение

Параметры:
newValue - минимальное количество знаков после запятой, которое должно быть показано; если значение меньше нуля, то используется ноль. Конкретный подкласс может установить верхнюю границу для этого значения, соответствующую типу числового значения, которое форматируется.
См. также:
getMinimumFractionDigits()

getCurrency

public Currency getCurrency()

Получает валюту, используемую этим форматом числа при форматировании значений валюты. Начальное значение определяется в зависимости от региона. Возвращаемое значение может быть null, если не удалось определить действительную валюту и не была установлена валюта с помощью setCurrency.

Реализация по умолчанию вызывает UnsupportedOperationException.

Возвращает:
используемую этим форматом числа валюту или null
Исключения:
UnsupportedOperationException - если класс формата чисел не реализует форматирование валюты
С момента:
1.4

setCurrency

public void setCurrency(Currency currency)

Устанавливает валюту, используемую этим форматом числа при форматировании значений валюты. Это не обновляет минимальное или максимальное количество знаков после запятой, используемых форматом числа.

Реализация по умолчанию вызывает UnsupportedOperationException.

Параметры:
currency - новая валюта, которая будет использоваться этим форматом числа
Исключения:
UnsupportedOperationException - если класс формата чисел не реализует форматирование валюты
NullPointerException - если currency равно null
С момента:
1.4

getRoundingMode

public RoundingMode getRoundingMode()

Получает RoundingMode, используемый в этом NumberFormat. Реализация по умолчанию этого метода в NumberFormat всегда вызывает UnsupportedOperationException. Подклассы, которые обрабатывают различные режимы округления, должны переопределить этот метод.

Возвращает:
Используемый для этого NumberFormat RoundingMode.
Исключения:
UnsupportedOperationException - Реализация по умолчанию всегда вызывает это исключение
С момента:
1.6
См. также:
setRoundingMode(RoundingMode)

setRoundingMode

public void setRoundingMode(RoundingMode roundingMode)

Устанавливает RoundingMode, используемый в этом NumberFormat. Реализация по умолчанию этого метода в NumberFormat всегда вызывает UnsupportedOperationException. Подклассы, которые обрабатывают различные режимы округления, должны переопределить этот метод.

Параметры:
roundingMode - Используемый RoundingMode
Исключения:
UnsupportedOperationException - Реализация по умолчанию всегда вызывает это исключение
NullPointerException - если roundingMode равно null
С момента:
1.6
См. также:
getRoundingMode()

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/text/NumberFormat.html

Spec-Zone .ru
спецификации, руководства, описания, API