Класс CompactNumberFormat
- Все реализованные интерфейсы:
Serializable, Cloneable
public final class CompactNumberFormat extends NumberFormat
CompactNumberFormat — конкретный подкласс NumberFormat, который форматирует десятичное число в локализованном компактном представлении. Компактное форматирование чисел предназначено для условий, в которых доступно ограниченное пространство. Например, в US locale можно отображать форматированное число 7M вместо
7,000,000.00. Класс
CompactNumberFormat определен спецификацией LDML для компактных форматов чисел.
Получение CompactNumberFormat
Чтобы получить компактный формат чисел, используйте один из перечисленных ниже способов.- Используйте фабричный метод
NumberFormat.getCompactNumberInstance(), чтобы получить формат для локали по умолчанию со стилемSHORT. - Используйте фабричный метод
NumberFormat.getCompactNumberInstance(Locale, Style), чтобы получить формат для другой локали и задать стиль. - Используйте один из конструкторов
CompactNumberFormat, напримерCompactNumberFormat(decimalPattern, symbols, compactPatterns), чтобы получитьCompactNumberFormatс дополнительными настройками.
Если нужен стандартный компактный формат для заданной локали и style, рекомендуется использовать один из перечисленных выше фабричных методов NumberFormat. Чтобы использовать метод экземпляра, определенный в CompactNumberFormat, перед приведением к CompactNumberFormat необходимо проверить тип NumberFormat, возвращенного этими фабричными методами. Если установленная реализация службы с учетом локали не поддерживает заданную 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. Разбор
По умолчанию при разборе не допускается разделитель групп разрядов, пока использование группировки не будет включено с помощью методаsetGroupingUsed(boolean), установившего значение true. Разбор дробной части зависит от параметра 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". В режиме lenient parsing включено нестрогое сопоставление шаблона знака минуса согласно спецификации нестрогого сопоставления LDML. Экранирование специальных символов
Многие символы в компактном шаблоне интерпретируются буквально: при разборе они сопоставляются как есть, а при форматировании выводятся без изменений. Специальные символы, напротив, обозначают другие символы, строки или классы символов. Если такие символы должны использоваться в префиксе или суффиксе как литералы, их необходимо заключать в одинарные кавычки' (U+0027), если не указано иное. Например, 0à¤'.'. Формы множественного числа
CompactNumberFormat поддерживают шаблоны как для форм единственного, так и для форм множественного числа компактного представления. Для формы множественного числа Pattern должен состоять из PluralPattern(ов), разделенных пробелом ' ' (U+0020) и заключенных в фигурные скобки '{' (U+007B) и '}' (U+007D). В этом формате каждый PluralPattern состоит из count, за которым следуют двоеточие ':' (U+003A) и SimplePattern. Поскольку пробел используется для разделения последующих PluralPattern, чтобы использовать его буквально в prefix или suffix, его необходимо заключить в кавычки.
Например, шаблон для миллионов (106 ) в локали США можно задать как SimplePattern: "0 Million", а для немецкой локали — как PluralPattern: "{one:0' 'Million other:0' 'Millionen}".
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
- Внешние спецификации
- См. также:
Краткое описание вложенных классов
Вложенные классы/интерфейсы, объявленные в классе NumberFormat
NumberFormat.Field, NumberFormat.Style | Модификатор и тип | Класс | Описание |
|---|---|---|
static class |
NumberFormat.Field |
Определяет константы, используемые в качестве ключей атрибутов в AttributedCharacterIterator, возвращаемом из NumberFormat.formatToCharacterIterator, и в качестве идентификаторов полей в FieldPosition. |
static enum |
NumberFormat.Style |
Стиль формата числа. |
Краткое описание полей
Поля, объявленные в классе NumberFormat
FRACTION_FIELD, INTEGER_FIELD | Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
FRACTION_FIELD |
Константа поля, используемая для создания объекта FieldPosition. |
static final int |
INTEGER_FIELD |
Константа поля, используемая для создания объекта FieldPosition. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
CompactNumberFormat |
Создает CompactNumberFormat с использованием заданных десятичного шаблона, символов десятичного формата и компактных шаблонов. |
CompactNumberFormat |
Создает CompactNumberFormat с использованием заданных десятичного шаблона, символов десятичного формата, компактных шаблонов и правил множественного числа. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
CompactNumberFormat |
clone() |
Создает и возвращает копию этого экземпляра CompactNumberFormat. |
boolean |
equals |
Сравнивает указанный объект с этим CompactNumberFormat на равенство. |
StringBuffer |
format |
Форматирует значение типа double, создавая строку, представляющую его компактную форму. |
StringBuffer |
format |
Форматирует значение типа long, создавая строку, представляющую его компактную форму. |
final StringBuffer |
format |
Форматирует число, создавая строку, представляющую его компактную форму. |
AttributedCharacterIterator |
formatToCharacterIterator |
Форматирует объект, создавая AttributedCharacterIterator. |
int |
getGroupingSize() |
Возвращает размер группировки. |
RoundingMode |
getRoundingMode() |
Возвращает используемый в этом CompactNumberFormat режим RoundingMode. |
int |
hashCode() |
Возвращает хеш-код этого CompactNumberFormat. |
boolean |
isGroupingUsed() |
Возвращает true, если в этом формате используется группировка. |
boolean |
isParseBigDecimal() |
Возвращает значение, указывающее, возвращает ли метод parse(String, ParsePosition) значение BigDecimal. |
boolean |
isParseIntegerOnly() |
Возвращает true, если этот формат разбирает только целую часть компонента числа в компактном числе. |
boolean |
isStrict() |
Возвращает true, если этот формат разбирает числа строго, и false в противном случае. |
Number |
parse |
Разбирает текст от начала заданной строки и создает Number. |
void |
setGroupingSize |
Задает размер группировки. |
void |
setGroupingUsed |
Задает, будет ли в этом формате использоваться группировка. |
void |
setMaximumFractionDigits |
Задает максимальное количество цифр в дробной части числа при форматировании. |
void |
setMaximumIntegerDigits |
Задает максимальное количество цифр в целой части числа при форматировании. |
void |
setMinimumFractionDigits |
Задает минимальное количество цифр в дробной части числа при форматировании. |
void |
setMinimumIntegerDigits |
Задает минимальное количество цифр в целой части числа при форматировании. |
void |
setParseBigDecimal |
Задает, будет ли метод parse(String, ParsePosition) возвращать значение BigDecimal. |
void |
setParseIntegerOnly |
Задает, будет ли этот формат разбирать только целую часть компонента числа в компактном числе. |
void |
setRoundingMode |
Задает используемый в этом CompactNumberFormat режим RoundingMode. |
void |
setStrict |
Изменяет значение параметра нестрогого разбора. |
String |
toString() |
Возвращает строку, идентифицирующую этот CompactNumberFormat, для отладки. |
Методы, объявленные в классе NumberFormat
format, format, getAvailableLocales, getCompactNumberInstance, getCompactNumberInstance, getCurrency, getCurrencyInstance, getCurrencyInstance, getInstance, getInstance, getIntegerInstance, getIntegerInstance, getMaximumFractionDigits, getMaximumIntegerDigits, getMinimumFractionDigits, getMinimumIntegerDigits, getNumberInstance, getNumberInstance, getPercentInstance, getPercentInstance, parse, parseObject, setCurrency | Модификатор и тип | Метод | Описание |
|---|---|---|
final String |
format |
Специализация метода format. |
final String |
format |
Специализация метода format. |
static Locale[] |
getAvailableLocales() |
Возвращает массив всех локалей, для которых методы get*Instance этого класса могут возвращать локализованные экземпляры. |
static NumberFormat |
getCompactNumberInstance() |
|
static NumberFormat |
getCompactNumberInstance |
Возвращает компактный формат чисел для указанной locale и formatStyle. |
Currency |
getCurrency() |
Возвращает валюту, используемую этим форматом чисел при форматировании денежных значений. |
static final NumberFormat |
getCurrencyInstance() |
Возвращает формат валюты для текущей локали FORMAT по умолчанию. |
static NumberFormat |
getCurrencyInstance |
Возвращает формат валюты для указанной локали. |
static final NumberFormat |
getInstance() |
Возвращает формат чисел общего назначения для текущей локали FORMAT по умолчанию. |
static NumberFormat |
getInstance |
Возвращает формат чисел общего назначения для указанной локали. |
static final NumberFormat |
getIntegerInstance() |
Возвращает целочисленный формат чисел для текущей локали FORMAT по умолчанию. |
static NumberFormat |
getIntegerInstance |
Возвращает целочисленный формат чисел для указанной локали. |
int |
getMaximumFractionDigits() |
Возвращает максимальное количество цифр в дробной части числа при форматировании. |
int |
getMaximumIntegerDigits() |
Возвращает максимальное количество цифр в целой части числа при форматировании. |
int |
getMinimumFractionDigits() |
Возвращает минимальное количество цифр в дробной части числа при форматировании. |
int |
getMinimumIntegerDigits() |
Возвращает минимальное количество цифр в целой части числа при форматировании. |
static final NumberFormat |
getNumberInstance() |
Возвращает формат чисел общего назначения для текущей локали FORMAT по умолчанию. |
static NumberFormat |
getNumberInstance |
Возвращает формат чисел общего назначения для указанной локали. |
static final NumberFormat |
getPercentInstance() |
Возвращает процентный формат для текущей локали FORMAT по умолчанию. |
static NumberFormat |
getPercentInstance |
Возвращает процентный формат для указанной локали. |
Number |
parse |
Разбирает текст от начала заданной строки и создает Number. |
final Object |
parseObject |
Разбирает текст из заданной строки и создает объект. |
void |
setCurrency |
Задает валюту, используемую этим форматом чисел при форматировании денежных значений. |
Методы, объявленные в классе Format
format, parseObject | Модификатор и тип | Метод | Описание |
|---|---|---|
final String |
format |
Форматирует объект, создавая строку. |
Object |
parseObject |
Разбирает текст от начала заданной строки и создает объект. |
Методы, объявленные в классе Object
finalize, getClass, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected void |
finalize() |
Устарело, будет удалено: этот элемент API может быть удален в будущей версии. Метод финализации устарел и будет удален в одном из следующих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
Подробное описание конструкторов
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встречается в массиве компактных шаблонов - См. также:
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 Consortium «Синтаксис правил множественного числа» - Исключения:
-
NullPointerException— если какой-либо из заданных аргументов равенnull -
IllegalArgumentException— если заданныйdecimalPattern, массивcompactPatternsсодержит недопустимый шаблон,nullвстречается в массиве компактных шаблонов либо заданныйpluralRulesимеет недопустимый синтаксис - С версии:
- 14
- Внешние спецификации
- См. также:
Подробное описание методов
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соответственно. - Возвращает:
- переданный
StringBufferв качествеtoAppendTo - Исключения:
-
IllegalArgumentException— еслиnumberравенnullили не является экземпляромNumber -
NullPointerException— еслиtoAppendToилиfieldPositionравенnull -
ArithmeticException— если требуется округление, а режим округления установлен вRoundingMode.UNNECESSARY - См. также:
format
public StringBuffer format(double number, StringBuffer result, FieldPosition fieldPosition)
- Определено в:
-
formatв классеNumberFormat - Параметры:
-
number— число типа double для форматирования -
result— место, куда добавляется текст -
fieldPosition— отслеживает позицию поля в возвращаемой строке. Например, при форматировании числа1234567.89вUS locale, если заданныйfieldPosition— этоNumberFormat.INTEGER_FIELD, начальный и конечный индексыfieldPositionбудут установлены соответственно в 0 и 1 для выходной строки1M. Аналогичным образом позиции полей префикса и суффикса можно получить с помощьюNumberFormat.Field.PREFIXиNumberFormat.Field.SUFFIXсоответственно. - Возвращает:
- переданный
StringBufferв качествеresult - Исключения:
-
NullPointerException— еслиresultилиfieldPositionравенnull -
ArithmeticException— если требуется округление, а режим округления установлен вRoundingMode.UNNECESSARY - См. также:
format
public StringBuffer format(long number, StringBuffer result, FieldPosition fieldPosition)
- Определено в:
-
formatв классеNumberFormat - Параметры:
-
number— число типа long для форматирования -
result— место, куда добавляется текст -
fieldPosition— отслеживает позицию поля в возвращаемой строке. Например, при форматировании числа123456789вUS locale, если заданныйfieldPosition— этоNumberFormat.INTEGER_FIELD, начальный и конечный индексыfieldPositionбудут установлены соответственно в 0 и 3 для выходной строки123M. Аналогичным образом позиции полей префикса и суффикса можно получить с помощьюNumberFormat.Field.PREFIXиNumberFormat.Field.SUFFIXсоответственно. - Возвращает:
- переданный
StringBufferв качествеresult - Исключения:
-
NullPointerException— еслиresultилиfieldPositionравенnull -
ArithmeticException— если требуется округление, а режим округления установлен вRoundingMode.UNNECESSARY - См. также:
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.USNumberFormat.Style.SHORT: «K» -
isGroupingUsed()возвращаетfalse, а разделитель групп разрядов присутствует -
isGroupingUsed()возвращаетtrue, аgetGroupingSize()не соблюдается -
isParseIntegerOnly()возвращаетtrue, а десятичный разделитель присутствует -
isGroupingUsed()возвращаетtrue, аisParseIntegerOnly()возвращаетfalse, и разделитель групп разрядов находится после десятичного разделителя - Обнаружены другие символы, которые не являются ожидаемыми символами или цифрами, входящими в числовую часть
В нестрогом режиме знак минус в negative subpatterns приблизительно сопоставляется со знаками минуса, допустимыми в нестрогом режиме.
Тип возвращаемого подкласса зависит от значения isParseBigDecimal().
- Если
isParseBigDecimal()имеет значение false (по умолчанию), большинство целых значений возвращаются как объектыLongнезависимо от способа их записи: и"17K", и"17.000K"разбираются какLong.valueOf(17000). Если значение не помещается вLong, результат возвращается какDouble. Сюда входят значения с дробной частью, бесконечные значения,NaNи значение -0.0.Вызывающий код может использовать методы
Number, такие какdoubleValue,longValueи т. д., чтобы получить нужный тип. - Если
isParseBigDecimal()имеет значение true, значения возвращаются как объектыBigDecimal. Особые значения — отрицательная и положительная бесконечность и NaN — возвращаются как экземплярыDouble, содержащие значения соответствующих константDouble.
CompactNumberFormat разбирает все символы Unicode, представляющие десятичные цифры, как определено в Character.digit(). Кроме того, CompactNumberFormat также распознает как цифры десять последовательных символов, начиная с локализованной цифры ноль, заданной в объекте DecimalFormatSymbols.
Разбор с помощью CompactNumberFormat не поддерживает научную нотацию. Например, разбор строки "1.05E4K" в US locale остановится на символе «E» и вернет 1.05.
- Определено в:
-
parseв классеNumberFormat - Параметры:
-
text— строка для разбора -
pos— объектParsePositionс информацией об индексе и индексе ошибки, как описано выше - Возвращает:
- разобранное значение или
null, если разбор завершился неудачно - Исключения:
-
NullPointerException— еслиtextилиposравен null - См. также:
setMaximumIntegerDigits
public void setMaximumIntegerDigits(int newValue)
maximumIntegerDigits должно быть ≥ minimumIntegerDigits. Если новое значение
maximumIntegerDigits меньше текущего значения minimumIntegerDigits, то minimumIntegerDigits также будет установлено в новое значение. Отрицательные входные значения заменяются на 0. Максимально допустимое количество цифр в целой части — 309; если newValue > 309, максимальное количество цифр в целой части устанавливается в 309.
- Переопределяет:
-
setMaximumIntegerDigitsв классеNumberFormat - Параметры:
-
newValue— максимальное количество отображаемых цифр в целой части. - См. также:
setMinimumIntegerDigits
public void setMinimumIntegerDigits(int newValue)
minimumIntegerDigits должно быть ≤ maximumIntegerDigits. Если новое значение minimumIntegerDigits превышает текущее значение maximumIntegerDigits, то
maximumIntegerDigits также будет установлено в новое значение. Отрицательные входные значения заменяются на 0. Максимально допустимое количество цифр в целой части — 309; если newValue > 309, минимальное количество цифр в целой части устанавливается в 309.
- Переопределяет:
-
setMinimumIntegerDigitsв классеNumberFormat - Параметры:
-
newValue— минимальное количество отображаемых цифр в целой части. - См. также:
setMinimumFractionDigits
public void setMinimumFractionDigits(int newValue)
minimumFractionDigits должно быть ≤ maximumFractionDigits. Если новое значение
minimumFractionDigits превышает текущее значение
maximumFractionDigits, то maximumFractionDigits также будет установлено в новое значение. Отрицательные входные значения заменяются на 0. Максимально допустимое количество цифр в дробной части — 340; если newValue > 340, минимальное количество цифр в дробной части устанавливается в 340.
- Переопределяет:
-
setMinimumFractionDigitsв классеNumberFormat - Параметры:
-
newValue— минимальное количество отображаемых цифр в дробной части. - См. также:
setMaximumFractionDigits
public void setMaximumFractionDigits(int newValue)
maximumFractionDigits должно быть ≥ minimumFractionDigits. Если новое значение maximumFractionDigits меньше текущего значения minimumFractionDigits, то minimumFractionDigits также будет установлено в новое значение. Отрицательные входные значения заменяются на 0. Максимально допустимое количество цифр в дробной части — 340; если newValue > 340, максимальное количество цифр в дробной части устанавливается в 340.
- Переопределяет:
-
setMaximumFractionDigitsв классеNumberFormat - Параметры:
-
newValue— максимальное количество отображаемых цифр в дробной части. - См. также:
getRoundingMode
public RoundingMode getRoundingMode()
CompactNumberFormat режим RoundingMode.- Переопределяет:
-
getRoundingModeв классеNumberFormat - Возвращает:
RoundingMode, используемый для этогоCompactNumberFormat- См. также:
setRoundingMode
public void setRoundingMode(RoundingMode roundingMode)
CompactNumberFormat режим RoundingMode.- Переопределяет:
-
setRoundingModeв классеNumberFormat - Параметры:
-
roundingMode— используемыйRoundingMode - Исключения:
-
NullPointerException— еслиroundingModeравенnull - См. также:
getGroupingSize
public int getGroupingSize()
"12,347 trillion" для US locale размер группировки равен 3.- Возвращает:
- размер группировки
- См. также:
setGroupingSize
public void setGroupingSize(int newValue)
"12,347 trillion" для US locale размер группировки равен 3. Размер группировки должен быть от 0 до 127 включительно.- Параметры:
-
newValue— новый размер группировки - Исключения:
-
IllegalArgumentException— еслиnewValueотрицательно или больше 127 - См. также:
isGroupingUsed
public boolean isGroupingUsed()
12346567890987654 можно отформатировать как "12,347 trillion" в US locale. Разделитель групп разрядов зависит от локали.- Переопределяет:
-
isGroupingUsedв классеNumberFormat - Возвращает:
-
true, если группировка используется; в противном случае —false - См. также:
setGroupingUsed
public void setGroupingUsed(boolean newValue)
- Переопределяет:
-
setGroupingUsedв классеNumberFormat - Параметры:
-
newValue—true, если группировка используется; в противном случае —false - См. также:
isParseIntegerOnly
public boolean isParseIntegerOnly()
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 - См. также:
isStrict
public boolean isStrict()
true, если этот формат разбирает числа в строгом режиме; в противном случае — false.- Переопределяет:
-
isStrictв классеNumberFormat - Возвращает:
-
true, если этот формат разбирает числа в строгом режиме; в противном случае —false - С версии:
- 23
- См. также:
setStrict
public void setStrict(boolean strict)
- Переопределяет:
-
setStrictв классеNumberFormat - Параметры:
-
strict—true, если разбор следует выполнять в строгом режиме; в противном случае —false - С версии:
- 23
- См. также:
isParseBigDecimal
public boolean isParseBigDecimal()
parse(String, ParsePosition) значение BigDecimal. По умолчанию это значение равно false.- Возвращает:
-
true, если метод разбора возвращает BigDecimal; в противном случае —false - См. также:
setParseBigDecimal
public void setParseBigDecimal(boolean newValue)
parse(String, ParsePosition) возвращать значение BigDecimal.- Параметры:
-
newValue—true, если метод разбора возвращает BigDecimal; в противном случае —false - См. также:
equals
public boolean equals(Object obj)
CompactNumberFormat на равенство. Возвращает true, если объект также является CompactNumberFormat и оба формата одинаково форматируют любое значение.- Переопределяет:
-
equalsв классеNumberFormat - Требования к реализации:
- Этот метод проверяет равенство, определяя идентичность класса на основе
getClass(), а неinstanceof. Поэтому в методах equals подклассов ни один экземпляр этого класса не должен считаться равным экземпляру подкласса. - Параметры:
-
obj— объект для сравнения - Возвращает:
- true, если этот объект равен другому
CompactNumberFormat - См. также:
hashCode
public int hashCode()
CompactNumberFormat.- Переопределяет:
-
hashCodeв классеNumberFormat - Требования к реализации:
- Для вычисления значения хеш-кода используются нетранзиентные поля экземпляра этого класса; полученное значение соответствует контракту, определённому в
Objects.hashCode(Object) - Возвращает:
- хеш-код этого
CompactNumberFormat - См. также:
toString
clone
public CompactNumberFormat clone()
CompactNumberFormat.- Переопределяет:
-
cloneв классеNumberFormat - Возвращает:
- клон этого экземпляра
- См. также:
© 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.