Spec-Zone.ru › OpenJDK 24

Класс CompactNumberFormat

java.lang.Object
java.text.Format
java.text.NumberFormat
java.text.CompactNumberFormat
Все реализуемые интерфейсы:
Serializable, Cloneable
public final class CompactNumberFormat extends NumberFormat

Класс CompactNumberFormat — это конкретный подкласс NumberFormat, который форматирует десятичное число в локализованном компактном виде. Компактное форматирование чисел предназначено для среды с ограниченным пространством. Например, отображает отформатированное число 7M вместо 7,000,000.00 в US locale. Класс CompactNumberFormat определяется спецификацией LDML для компактных форматов чисел.

Получение CompactNumberFormat

Для получения компактного формата числа используйте один из способов, перечисленных ниже.
  • Используйте фабричный метод NumberFormat.getCompactNumberInstance(), чтобы получить формат для локального языка по умолчанию со стилем SHORT.
  • Используйте фабричный метод NumberFormat.getCompactNumberInstance(Locale, Style), чтобы получить формат для другого языка и управлять стилем Style.
  • Используйте один из конструкторов CompactNumberFormat, например, CompactNumberFormat(decimalPattern, symbols, compactPatterns), чтобы получить CompactNumberFormat с дополнительной настройкой.

Если требуется стандартный компактный формат для данного языка и style, рекомендуется использовать один из фабричных методов NumberFormat, перечисленных выше. Для использования метода, определенного классом CompactNumberFormat, возвращаемый этими фабричными методами объект должен быть проверен на тип перед преобразованием в CompactNumberFormat. Если реализация локализованных сервисов не поддерживает данный Locale, будет произведён поиск в цепочке родительских локалей, и будет использован поддерживаемый Locale.

Стиль

При использовании NumberFormat.getCompactNumberInstance(Locale, Style), компактная форма может быть получена с помощью стиля SHORT или LONG. Например, SHORT-стиль компактного числа в US locale форматирует 10000 как "10K". Однако LONG-стиль в той же локали форматирует 10000 как "10 thousand".

Использование CompactNumberFormat

Ниже приведён пример форматирования и разбора данных локализованным способом,
NumberFormat compactFormat = NumberFormat.getCompactNumberInstance(Locale.US, NumberFormat.Style.SHORT);
compactFormat.format(1000); // returns "1K"
compactFormat.parse("1K"); // returns 1000

Форматирование

По умолчанию поведение форматирования возвращает отформатированную строку без дробной части, однако пользователи могут использовать метод setMinimumFractionDigits(int), чтобы включить дробную часть. Число 1000.0 или 1000 форматируется как "1K", а не "1.00K" (в US locale). По этой причине шаблоны, используемые для форматирования, содержат только минимальное количество целых цифр, префикс и/или суффикс, но не дробную часть. Например, используемые шаблоны — {"", "", "", 0K, 00K, ...}. Если выбранный шаблон для форматирования числа — "0" (специальный шаблон), явным или по умолчанию, то используется общее форматирование чисел, предоставляемое классом DecimalFormat для указанной локали.

Округление

CompactNumberFormat предоставляет режимы округления, определённые в RoundingMode, для форматирования. По умолчанию используется RoundingMode.HALF_EVEN.

Разбор

По умолчанию поведение разбора не допускает разделителя групп до тех пор, пока разделитель групп не будет установлен в true с помощью setGroupingUsed(boolean). Разбор дробной части зависит от isParseIntegerOnly(). Например, если разбор целой части только включён, то дробная часть пропускается.

Шаблоны компактных чисел

compactPatterns в CompactNumberFormat(decimalPattern, symbols, compactPatterns) представлены в виде ряда строк, где каждая строка — pattern, используемая для форматирования диапазона чисел.

Пример шаблонов компактных чисел со стилем SHORT для US locale составляет {"", "", "", "0K", "00K", "000K", "0M", "00M", "000M", "0B", "00B", "000B", "0T", "00T", "000T"}, начиная от 100 до 1014. Может быть любое количество шаблонов, и они упорядочены строго по индексу, начиная с диапазона 100. Например, в вышеприведённых шаблонах шаблон с индексом 3 ("0K") используется для форматирования числа в диапазоне: 1000 <= number < 10000, шаблон с индексом 4 ("00K") для форматирования числа в диапазоне: 10000 <= number < 100000, и так далее.

В большинстве локалей шаблоны с диапазоном 100-102 являются пустыми строками, что подразумевает использование специального шаблона "0". Специальный шаблон "0" используется для любого диапазона, не содержащего компактного шаблона. Этот специальный шаблон может быть явно указан для любого конкретного диапазона или рассматриваться как шаблон по умолчанию для пустой строки.

Отрицательные подшаблоны

Компактный шаблон содержит положительный и отрицательный подшаблон, разделённые символом разделителя подшаблонов ';', например, "0K;-0K". Каждый подшаблон имеет префикс, минимальное количество целых цифр и суффикс. Отрицательный подшаблон является необязательным; если он отсутствует, то положительный подшаблон с префиксом минус-знаком '-' (U+002D HYPHEN-MINUS) используется как отрицательный подшаблон. То есть, "0K" эквивалентно "0K;-0K". Если присутствует явный отрицательный подшаблон, он служит только для указания отрицательного префикса и суффикса. Количество минимальных целых цифр и другие характеристики совпадают с положительным шаблоном. Это означает, что "0K;-00K" производит точно такое же поведение, что и "0K;-0K".

Экранирование специальных символов

Многие символы в компактном шаблоне воспринимаются буквально; они соответствуют во время разбора и выводятся без изменений во время форматирования. Специальные символы, с другой стороны, обозначают другие символы, строки или классы символов. Эти символы должны быть заключены в одинарные кавычки ' (U+0027), если они не указаны иначе, если они должны появиться в префиксе или суффиксе в качестве литералов. Например, 0क'.'.

Множественное число

CompactNumberFormat поддерживают шаблоны для единственного и множественного чисел. Для множественного числа Pattern должно состоять из PluralPattern(ов), разделённых пробелом ' ' (U+0020), которые перечислены в паре фигурных скобок '{' (U+007B) и '}' (U+007D). В этом формате каждый PluralPattern состоит из его count, за которым следует двоеточие ':' (U+003A) и SimplePattern. Поскольку пробел зарезервирован для разделения последующих PluralPattern, он должен быть экранирован, чтобы использоваться буквально в prefix или suffix.

Например, в то время как шаблон, представляющий миллионы (106 ) в локали US может быть задан как SimplePattern: "0 Million", для немецкой локали он может быть задан как PluralPattern: "{one:0' 'Million other:0' 'Millionen}".

Шаблон компактного числа имеет следующий синтаксис, с count в соответствии с правилами множественного числа языка LDML :

 Pattern:
         SimplePattern
         '{' PluralPattern [' ' PluralPattern]optional '}'
 SimplePattern:
         PositivePattern
         PositivePattern [; NegativePattern]optional
 PluralPattern:
         Count:SimplePattern
 Count:
         "zero" / "one" / "two" / "few" / "many" / "other"
 PositivePattern:
         Prefixoptional MinimumInteger Suffixoptional
 NegativePattern:
        Prefixoptional MinimumInteger Suffixoptional
 Prefix:
      Any characters except the special pattern characters
 Suffix:
      Any characters except the special pattern characters
 MinimumInteger:
      0
      0 MinimumInteger
 
С:
12
Внешние спецификации
  • Язык разметки данных локали Unicode (LDML)
См. также:
  • NumberFormat.Style
  • NumberFormat
  • DecimalFormat
  • Locale
  • Сериализованная форма

Краткое описание вложенных классов

Вложенные классы/интерфейсы, объявленные в классе java.text.NumberFormat

NumberFormat.Field, NumberFormat.Style

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

Поля, объявленные в классе java.text.NumberFormat

FRACTION_FIELD, INTEGER_FIELD

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

Конструктор Описание
CompactNumberFormat(String decimalPattern, DecimalFormatSymbols symbols, String[] compactPatterns)
Создаёт CompactNumberFormat с помощью заданного шаблона десятичной дроби, символов формата десятичной дроби и компактных шаблонов.
CompactNumberFormat(String decimalPattern, DecimalFormatSymbols symbols, String[] compactPatterns, String pluralRules)
Создаёт CompactNumberFormat с помощью заданного шаблона десятичной дроби, символов формата десятичной дроби, компактных шаблонов и правил для множественного числа.

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

Модификатор и тип Метод Описание
CompactNumberFormat clone()
Создаёт и возвращает копию этого экземпляра CompactNumberFormat.
boolean equals(Object obj)
Сравнивает указанный объект с этим объектом CompactNumberFormat на равенство.
StringBuffer format(double number, StringBuffer result, FieldPosition fieldPosition)
Форматирует double для получения строки, представляющей его компактную форму.
StringBuffer format(long number, StringBuffer result, FieldPosition fieldPosition)
Форматирует long для получения строки, представляющей его компактную форму.
final StringBuffer format(Object number, StringBuffer toAppendTo, FieldPosition fieldPosition)
Форматирует число для получения строки, представляющей его компактную форму.
AttributedCharacterIterator formatToCharacterIterator(Object obj)
Форматирует объект, производя AttributedCharacterIterator.
int getGroupingSize()
Возвращает размер группировки.
RoundingMode getRoundingMode()
Получает RoundingMode, используемый в этом CompactNumberFormat.
int hashCode()
Возвращает хэш-код для этого CompactNumberFormat.
boolean isGroupingUsed()
Возвращает true, если в этом формате используется группировка.
boolean isParseBigDecimal()
Возвращает true, если метод parse(String, ParsePosition) возвращает BigDecimal.
boolean isParseIntegerOnly()
Возвращает true, если этот формат анализирует только целое число из числовой части компактного числа.
boolean isStrict()
Возвращает true, если этот формат будет анализировать числа строго; false в противном случае.
Number parse(String text, ParsePosition pos)
Анализирует текст с начала заданной строки, чтобы получить Number.
void setGroupingSize(int newValue)
Устанавливает размер группировки.
void setGroupingUsed(boolean newValue)
Устанавливает, будет ли использоваться группировка в этом формате.
void setMaximumFractionDigits(int newValue)
Устанавливает максимальное количество цифр, разрешённых в дробной части числа.
void setMaximumIntegerDigits(int newValue)
Устанавливает максимальное количество цифр, разрешённых в целой части числа.
void setMinimumFractionDigits(int newValue)
Устанавливает минимальное количество цифр, разрешённых в дробной части числа.
void setMinimumIntegerDigits(int newValue)
Устанавливает минимальное количество цифр, разрешённых в целой части числа.
void setParseBigDecimal(boolean newValue)
Устанавливает, возвращает ли метод parse(String, ParsePosition) BigDecimal.
void setParseIntegerOnly(boolean value)
Устанавливает, анализирует ли этот формат только целое число из числовой части компактного числа.
void setRoundingMode(RoundingMode roundingMode)
Устанавливает RoundingMode, используемый в этом CompactNumberFormat.
void setStrict(boolean strict)
Изменение значения толерантности для анализа.
String toString()
Возвращает строку, идентифицирующую этот CompactNumberFormat, для отладки.

Методы, объявленные в классе java.text.NumberFormat

format, format, getAvailableLocales, getCompactNumberInstance, getCompactNumberInstance, getCurrency, getCurrencyInstance, getCurrencyInstance, getInstance, getInstance, getIntegerInstance, getIntegerInstance, getMaximumFractionDigits, getMaximumIntegerDigits, getMinimumFractionDigits, getMinimumIntegerDigits, getNumberInstance, getNumberInstance, getPercentInstance, getPercentInstance, parse, parseObject, setCurrency

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

format, parseObject

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

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

Подробное описание конструкторов

CompactNumberFormat

public CompactNumberFormat(String decimalPattern, DecimalFormatSymbols symbols, String[] compactPatterns)
Создаёт CompactNumberFormat с заданным десятичным шаблоном, символами формата десятичных чисел и шаблонами компактной записи. Для получения экземпляра CompactNumberFormat со стандартными шаблонами компактной записи для Locale и Style рекомендуется использовать фабричные методы, предоставляемые NumberFormat для форматирования чисел компактной записью.

Ниже приведён пример использования конструктора:

String[] compactPatterns = {"", "", "", "a lot"};
NumberFormat fmt = new CompactNumberFormat("00", DecimalFormatSymbols.getInstance(Locale.US), compactPatterns);
fmt.format(1); // returns "01"
fmt.format(1000); // returns "a lot"
Параметры:
decimalPattern - десятичный шаблон для общего форматирования чисел
symbols - набор символов, которые будут использоваться
compactPatterns - массив шаблонов чисел компактной записи
Исключения:
NullPointerException - если любой из переданных аргументов имеет null
IllegalArgumentException - если переданный decimalPattern или массив compactPatterns содержит недопустимый шаблон или если в массиве шаблонов компактной записи встречается null
См. также:
  • DecimalFormat(java.lang.String, DecimalFormatSymbols)
  • DecimalFormatSymbols

CompactNumberFormat

public CompactNumberFormat(String decimalPattern, DecimalFormatSymbols symbols, String[] compactPatterns, String pluralRules)
Создаёт CompactNumberFormat с заданным десятичным шаблоном, символами формата десятичных чисел, шаблонами компактной записи и правилами множественного числа. Для получения экземпляра CompactNumberFormat со стандартными шаблонами компактной записи для Locale, Style и pluralRules рекомендуется использовать фабричные методы, предоставляемые NumberFormat для форматирования чисел компактной записью. Например, NumberFormat.getCompactNumberInstance(Locale, Style).
Параметры:
decimalPattern - десятичный шаблон для общего форматирования чисел
symbols - набор символов, которые будут использоваться
compactPatterns - массив шаблонов чисел компактной записи
pluralRules - строка, определяющая правила множественного числа, которые связывают ключевое слово Count, например, "one", и фактическое целое число. Его синтаксис определён в синтаксисе правил множественного числа консорциума Unicode Синтаксис правил множественного числа
Исключения:
NullPointerException - если любой из переданных аргументов имеет null
IllegalArgumentException - если переданный decimalPattern, массив compactPatterns содержит недопустимый шаблон, в массиве шаблонов компактной записи встречается null или переданная строка pluralRules содержит недопустимый синтаксис
С момента:
14
Внешние спецификации
  • Язык разметки данных локалей Unicode (LDML)
См. также:
  • DecimalFormat(java.lang.String, DecimalFormatSymbols)
  • DecimalFormatSymbols

Подробное описание методов

format

public final StringBuffer format(Object number, StringBuffer toAppendTo, FieldPosition fieldPosition)
Форматирует число, создавая строку, представляющую его в компактной форме. Число может быть любого подкласса Number.
Переопределяет:
format в классе NumberFormat
Параметры:
number - число для форматирования
toAppendTo - буфер StringBuffer, в который будет добавлен отформатированный текст
fieldPosition - отслеживает позицию поля в возвращаемой строке. Например, при форматировании числа 123456789 в US locale, если переданное fieldPosition равно NumberFormat.INTEGER_FIELD, начальный и конечный индексы fieldPosition будут установлены в 0 и 3 соответственно для выходной строки 123M. Аналогично, позиции префикса и суффикса можно получить с помощью NumberFormat.Field.PREFIX и NumberFormat.Field.SUFFIX соответственно.
Возвращает:
переданный в качестве toAppendTo StringBuffer
Исключения:
IllegalArgumentException - если number равен null или не является экземпляром Number
NullPointerException - если toAppendTo или fieldPosition равны null
ArithmeticException - если округление необходимо, а режим округления установлен на RoundingMode.UNNECESSARY
См. также:
  • FieldPosition

format

public StringBuffer format(double number, StringBuffer result, FieldPosition fieldPosition)
Форматирует double, создавая строку, представляющую его в компактной форме.
Указано в:
format в классе NumberFormat
Параметры:
number - double число для форматирования
result - место, куда будет добавлен текст
fieldPosition - отслеживает позицию поля в возвращаемой строке. Например, при форматировании числа 1234567.89 в US locale, если переданное fieldPosition равно NumberFormat.INTEGER_FIELD, начальный и конечный индексы fieldPosition будут установлены в 0 и 1 соответственно для выходной строки 1M. Аналогично, позиции префикса и суффикса можно получить с помощью NumberFormat.Field.PREFIX и NumberFormat.Field.SUFFIX соответственно.
Возвращает:
переданный в качестве result StringBuffer
Исключения:
NullPointerException - если result или fieldPosition равны null
ArithmeticException - если округление необходимо, а режим округления установлен на RoundingMode.UNNECESSARY
См. также:
  • FieldPosition

format

public StringBuffer format(long number, StringBuffer result, FieldPosition fieldPosition)
Форматирует long, создавая строку, представляющую его в компактной форме.
Указано в:
format в классе NumberFormat
Параметры:
number - long число для форматирования
result - место, куда будет добавлен текст
fieldPosition - отслеживает позицию поля в возвращаемой строке. Например, при форматировании числа 123456789 в US locale, если переданное fieldPosition равно NumberFormat.INTEGER_FIELD, начальный и конечный индексы fieldPosition будут установлены в 0 и 3 соответственно для выходной строки 123M. Аналогично, позиции префикса и суффикса можно получить с помощью NumberFormat.Field.PREFIX и NumberFormat.Field.SUFFIX соответственно.
Возвращает:
переданный в качестве result StringBuffer
Исключения:
NullPointerException - если result или fieldPosition равны null
ArithmeticException - если округление необходимо, а режим округления установлен на RoundingMode.UNNECESSARY
См. также:
  • FieldPosition

formatToCharacterIterator

public AttributedCharacterIterator formatToCharacterIterator(Object obj)
Форматирует объект, создавая AttributedCharacterIterator. Возвращённый AttributedCharacterIterator может быть использован для построения результирующей строки, а также для получения информации о результирующей строке.

Каждый ключ атрибута AttributedCharacterIterator будет иметь тип NumberFormat.Field, а значение атрибута будет таким же, как и ключ атрибута. Части префикса и суффикса возвращённого итератора (если они присутствуют) представлены атрибутами NumberFormat.Field.PREFIX и NumberFormat.Field.SUFFIX соответственно.

Переопределяет:
formatToCharacterIterator в классе Format
Параметры:
obj - объект для форматирования
Возвращает:
AttributedCharacterIterator, описывающий отформатированное значение
Исключения:
NullPointerException - если obj равен null
IllegalArgumentException - когда Format не может отформатировать заданный объект
ArithmeticException - если округление необходимо, а режим округления установлен на RoundingMode.UNNECESSARY

parse

public Number parse(String text, ParsePosition pos)
Парсит текст с начала заданной строки, чтобы получить Number.

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

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

Возвращаемое значение — это числовая часть в заданном тексте, умноженная на числовое значение присоединённого аффикса (например, "K" = 1000 в US locale).

CompactNumberFormat может соответствовать по умолчанию префиксу/суффиксу и компактным префиксу/суффиксу взаимозаменяемо.

Парсинг может быть выполнен в строгом или свободном режиме, по умолчанию он свободный.

Парсинг завершается неудачно в свободном режиме, если префикс и/или суффикс не пустые и не могут быть найдены из-за преждевременного завершения парсинга, или первый символ после префикса не может быть распарсен.

Парсинг завершается неудачно в строгом режиме, если в text,

  • Префикс по умолчанию или компактный префикс не найден. Например, префикс формата валюты Locale.US: "$"
  • Префикс по умолчанию или компактный суффикс не найден. Например, компактный суффикс Locale.US NumberFormat.Style.SHORT: "K"
  • isGroupingUsed() возвращает false, и символ группировки найден
  • isGroupingUsed() возвращает true, и getGroupingSize() не соблюдается
  • isParseIntegerOnly() возвращает true, и разделитель десятичных знаков найден
  • isGroupingUsed() возвращает true и isParseIntegerOnly() возвращает false, и символ группировки встречается после разделителя десятичных знаков
  • Любые другие символы найдены, которые не являются ожидаемыми символами, и не являются цифрами, которые встречаются в числовой части

Возвращаемый подкласс зависит от значения isParseBigDecimal().

  • Если isParseBigDecimal() ложно (по умолчанию), большинство целых значений возвращаются как Long объекты, независимо от того, как они записаны: "17K" и "17.000K" оба распарсятся в Long.valueOf(17000). Если значение не может поместиться в Long, то результат возвращается как Double. Это включает значения с дробной частью, бесконечные значения, NaN, и значение -0.0.

    Вызывающие стороны могут использовать методы Number doubleValue, longValue и т. д., чтобы получить желаемый тип.

  • Если isParseBigDecimal() истинно, значения возвращаются как BigDecimal объекты. Специальные случаи отрицательной и положительной бесконечности и NaN возвращаются как Double экземпляры, содержащие значения соответствующих Double констант.

CompactNumberFormat распарсивает все символы Юникода, которые представляют десятичные цифры, как определено Character.digit(). Кроме того, CompactNumberFormat также распознает в качестве цифр десять последовательных символов, начинающихся с локальной цифры ноль, определенной в объекте DecimalFormatSymbols.

CompactNumberFormat парсинг не позволяет парсить научную запись. Например, парсинг строки "1.05E4K" в US locale прерывается на символе 'E' и возвращает 1.05.

Specified by:
parse in class NumberFormat
Parameters:
text - строка, подлежащая парсингу
pos - объект ParsePosition с информацией об индексе и индексе ошибки, как описано выше
Returns:
распарсенное значение или null, если парсинг завершился неудачно
Throws:
NullPointerException - если text или pos равно null
See Also:
  • NumberFormat.isStrict()

setMaximumIntegerDigits

public void setMaximumIntegerDigits(int newValue)
Устанавливает максимальное количество цифр, разрешённых в целой части числа. Максимальный допустимый диапазон целых чисел — 309. Если newValue > 309, то максимальное количество цифр целой части устанавливается в 309. Отрицательные входные значения заменяются на 0.
Overrides:
setMaximumIntegerDigits in class NumberFormat
Parameters:
newValue - максимальное количество цифр целой части
See Also:
  • NumberFormat.getMaximumIntegerDigits()

setMinimumIntegerDigits

public void setMinimumIntegerDigits(int newValue)
Устанавливает минимальное количество цифр, разрешённых в целой части числа. Максимальный допустимый диапазон целых чисел — 309. Если newValue > 309, то минимальное количество цифр целой части устанавливается в 309. Отрицательные входные значения заменяются на 0.
Overrides:
setMinimumIntegerDigits in class NumberFormat
Parameters:
newValue - минимальное количество цифр целой части
See Also:
  • NumberFormat.getMinimumIntegerDigits()

setMinimumFractionDigits

public void setMinimumFractionDigits(int newValue)
Устанавливает минимальное количество цифр, разрешённых в дробной части числа. Максимальный допустимый диапазон дробных чисел — 340. Если newValue > 340, то минимальное количество цифр дробной части устанавливается в 340. Отрицательные входные значения заменяются на 0.
Overrides:
setMinimumFractionDigits in class NumberFormat
Parameters:
newValue - минимальное количество цифр дробной части
See Also:
  • NumberFormat.getMinimumFractionDigits()

setMaximumFractionDigits

public void setMaximumFractionDigits(int newValue)
Устанавливает максимальное количество цифр, разрешённых в дробной части числа. Максимальный допустимый диапазон дробных чисел — 340. Если newValue > 340, то максимальное количество цифр дробной части устанавливается в 340. Отрицательные входные значения заменяются на 0.
Overrides:
setMaximumFractionDigits in class NumberFormat
Parameters:
newValue - максимальное количество цифр дробной части
See Also:
  • NumberFormat.getMaximumFractionDigits()

getRoundingMode

public RoundingMode getRoundingMode()
Возвращает RoundingMode, используемый в этом CompactNumberFormat.
Overrides:
getRoundingMode in class NumberFormat
Returns:
RoundingMode, используемый для этого CompactNumberFormat
See Also:
  • setRoundingMode(RoundingMode)

setRoundingMode

public void setRoundingMode(RoundingMode roundingMode)
Устанавливает RoundingMode, используемый в этом CompactNumberFormat.
Overrides:
setRoundingMode in class NumberFormat
Parameters:
roundingMode - используемый RoundingMode
Throws:
NullPointerException - если roundingMode является null
See Also:
  • getRoundingMode()

getGroupingSize

public int getGroupingSize()
Возвращает размер группировки. Размер группировки — это количество цифр между разделителями группировки в целой части числа. Например, в компактном числе "12,347 trillion" для US locale размер группировки равен 3.
Returns:
размер группировки
See Also:
  • setGroupingSize(int)
  • NumberFormat.isGroupingUsed()
  • DecimalFormatSymbols.getGroupingSeparator()

setGroupingSize

public void setGroupingSize(int newValue)
Устанавливает размер группировки. Размер группировки — это количество цифр между разделителями группировки в целой части числа. Например, в компактном числе "12,347 trillion" для US locale размер группировки равен 3. Размер группировки должен быть больше или равен нулю и меньше или равен 127.
Параметры:
newValue - новый размер группировки
Исключение:
IllegalArgumentException - если newValue отрицателен или больше 127
См. также:
  • getGroupingSize()
  • NumberFormat.setGroupingUsed(boolean)
  • DecimalFormatSymbols.setGroupingSeparator(char)

isGroupingUsed

public boolean isGroupingUsed()
Возвращает true, если группировка используется в этом формате. Например, при включённой группировке и размере группировки, равном 3, число 12346567890987654 может быть отформатировано как "12,347 trillion" в US locale. Разделитель группировки зависит от локали.
Переопределяет:
isGroupingUsed в классе NumberFormat
Возвращает:
true, если группировка используется; false в противном случае
См. также:
  • setGroupingUsed(boolean)

setGroupingUsed

public void setGroupingUsed(boolean newValue)
Устанавливает, будет ли использоваться группировка в этом формате.
Переопределяет:
setGroupingUsed в классе NumberFormat
Параметры:
newValue - true, если группировка используется; false в противном случае
См. также:
  • isGroupingUsed()

isParseIntegerOnly

public boolean isParseIntegerOnly()
Возвращает true, если этот формат анализирует только целое число из числовой части компактного числа. Анализ целого числа означает, что из числовой части рассматривается только целая часть, префикс/суффикс всё ещё учитываются для вычисления результирующего значения. Например, в US locale, если этот метод возвращает true, строка "1234.78 thousand" будет обработана как значение 1234000 (1234 (целая часть) * 1000 (тысяча)), и дробная часть будет пропущена. Точный формат, принимаемый операцией анализа, зависит от локали.
Переопределяет:
isParseIntegerOnly в классе NumberFormat
Требования к реализации:
Эта реализация не устанавливает индекс ParsePosition в позицию десятичного символа, а вместо этого — в конец строки.
Возвращает:
true, если компактные числа должны анализироваться только как целые числа; false в противном случае

setParseIntegerOnly

public void setParseIntegerOnly(boolean value)
Устанавливает, будет ли этот формат анализировать только целое число из числовой части компактного числа.
Переопределяет:
setParseIntegerOnly в классе NumberFormat
Параметры:
value - true, если компактные числа должны анализироваться только как целые числа; false в противном случае
См. также:
  • isParseIntegerOnly()

isStrict

public boolean isStrict()
Возвращает true, если этот формат будет анализировать числа строго; false в противном случае.
Переопределяет:
isStrict в классе NumberFormat
Возвращает:
true, если этот формат будет анализировать числа строго; false в противном случае
С момента:
23
См. также:
  • setStrict(boolean)
  • parse(String, ParsePosition)

setStrict

public void setStrict(boolean strict)
Изменение значения строгости для анализа. Анализ может быть строгим или приблизительным, по умолчанию он приблизительный.
Переопределяет:
setStrict в классе NumberFormat
Параметры:
strict - true, если анализ должен выполняться строго; false в противном случае
С момента:
23
См. также:
  • isStrict()
  • parse(String, ParsePosition)

isParseBigDecimal

public boolean isParseBigDecimal()
Возвращает, возвращает ли метод parse(String, ParsePosition) BigDecimal. Значение по умолчанию — false.
Возвращает:
true, если метод parse возвращает BigDecimal; false в противном случае
См. также:
  • setParseBigDecimal(boolean)

setParseBigDecimal

public void setParseBigDecimal(boolean newValue)
Устанавливает, возвращает ли метод parse(String, ParsePosition) BigDecimal.
Параметры:
newValue - true, если метод parse возвращает BigDecimal; false в противном случае
См. также:
  • isParseBigDecimal()

equals

public boolean equals(Object obj)
Сравнивает указанный объект с этим CompactNumberFormat на равенство. Возвращает true, если объект также является CompactNumberFormat и два формата будут форматировать любое значение одинаково.
Переопределяет:
equals в классе NumberFormat
Требования к реализации:
Этот метод выполняет проверку равенства с понятием идентичности класса, основанной на getClass(), а не на instanceof. Поэтому в методах equals в подклассах ни один экземпляр этого класса не должен сравниваться как равный экземпляру подкласса.
Параметры:
obj - объект для сравнения
Возвращает:
true, если это равно другому CompactNumberFormat
См. также:
  • Object.hashCode()

hashCode

public int hashCode()
Возвращает хэш-код для этого CompactNumberFormat.
Переопределяет:
hashCode в классе NumberFormat
Требования к реализации:
Непеременные поля экземпляра этого класса используются для вычисления хэш-кода, соответствующего контракту, определённому в Objects.hashCode(java.lang.Object)
Возвращает:
хэш-код для этого CompactNumberFormat
См. также:
  • Object.hashCode()

toString

public String toString()
Возвращает строку, идентифицирующую этот CompactNumberFormat, для отладки.
Переопределяет:
toString в классе Object
Возвращает:
строку, идентифицирующую этот CompactNumberFormat, для отладки

clone

public CompactNumberFormat clone()
Создаёт и возвращает копию этого экземпляра CompactNumberFormat.
Переопределяет:
clone в классе NumberFormat
Возвращает:
клонированный экземпляр
См. также:
  • Cloneable

© 1993, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/text/CompactNumberFormat.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API