Класс NumberFormat
- Все реализуемые интерфейсы:
Serializable, Cloneable
- Прямые известные подклассы:
ChoiceFormat, CompactNumberFormat, DecimalFormat
public abstract class NumberFormat extends Format
NumberFormat — абстрактный базовый класс для всех форматов чисел. Этот класс предоставляет интерфейс для форматирования и разбора чисел с учётом локали. Благодаря этому код может быть полностью независимым от локальных соглашений о десятичных разделителях, разделителях тысяч, используемых десятичных цифрах и даже от того, является ли формат чисел десятичным. Например, этот класс можно использовать в приложении для представления числа в денежном формате в соответствии с соглашениями выбранной локали. Получение NumberFormat
Чтобы получитьNumberFormat для локали по умолчанию, используйте один из статических фабричных методов, возвращающих конкретный подкласс NumberFormat. Ниже приведены примеры форматирования Number "2000.50" с локалью US в качестве локали по умолчанию. - Используйте
getInstance()илиgetNumberInstance()для получения десятичного формата. Например,"2,000.5". - Используйте
getIntegerInstance()для получения формата целых чисел. Например,"2,000". - Используйте
getCurrencyInstance()для получения денежного формата чисел. Например,"$2,000.50". - Используйте
getCompactNumberInstance()для получения компактного числового формата. Например,"2K". - Используйте
getPercentInstance()для получения формата отображения процентов. Например,"200,050%".
NumberFormat для другой локали, используйте один из перегруженных фабричных методов, принимающих Locale в качестве параметра, например getIntegerInstance(Locale). Если установленная реализация службы с учётом локали не поддерживает заданную Locale, будет выполнен поиск по цепочке родительских локалей и использована поддерживаемая Locale. Расширения локали
Поведение форматирования может меняться при использовании локали, содержащей любое из следующих расширений Unicode:- "nu" ( Система нумерации) — переопределяет используемые десятичные цифры
- "rg" ( Переопределение региона) — переопределяет используемую страну
- "cf" ( Стиль денежного формата) — переопределяет используемый стиль денежного формата
Если указаны и "nu", и "rg", десятичные цифры из расширения "nu" имеют приоритет над неявно заданными расширением "rg". Хотя расширения Unicode определяют различные ключи и значения, фактические реализации служб с учётом локали в среде выполнения Java могут не поддерживать какие-либо определённые атрибуты локали Unicode или пары ключ/тип.
Ниже приведён пример денежного формата локали "US" в бухгалтерском стиле:
NumberFormat.getCurrencyInstance(Locale.forLanguageTag("en-US-u-cf-account")); При использовании этого стиля отрицательное значение заключается в скобки, а не предваряется знаком минус. Использование NumberFormat
Ниже приведён пример форматирования и разбора с учётом локали:NumberFormat currencyFormat = NumberFormat.getCurrencyInstance(Locale.US);
currencyFormat.format(100000); // returns "$100,000.00"
currencyFormat.parse("$100,000.00"); // returns 100000
Настройка NumberFormat
NumberFormat предоставляет API для настройки форматирования и разбора: -
setParseIntegerOnly(boolean); еслиtrue, из числа, разобранного из String, будет возвращена только целая часть. -
setMinimumFractionDigits(int); используйте этот метод для настройки количества ожидаемых цифр при форматировании. Аналогичным образом используйте любые другие методы задания минимальных или максимальных значений, а также дробной или целой части. Эти методы не влияют на поведение разбора. -
setGroupingUsed(boolean); еслиtrue, отформатированные числа будут отображаться с разделителями групп разрядов. Кроме того, еслиfalse, при разборе не будут ожидаться разделители групп разрядов в анализируемой строке String. -
setStrict(boolean); еслиtrue, разбор будет выполняться в строгом режиме. Описание поведения строгого разбора следует искать в реализующем его подклассеNumberFormat.
Чтобы получить более точный контроль над форматированием или разбором, можно проверить тип и безопасно преобразовать объект в реализующий подкласс NumberFormat; это даст доступ к дополнительным методам, определённым подклассом. Например:
NumberFormat nFmt = NumberFormat.getInstance(Locale.US);
if (nFmt instanceof DecimalFormat dFmt) {
dFmt.setDecimalSeparatorAlwaysShown(true);
dFmt.format(100); // returns "100."
}
NumberFormat, возвращаемый фабричными методами, зависит от установленной реализации поставщика служб локали и не всегда может быть DecimalFormat или CompactNumberFormat. Вы также можете использовать варианты методов parse и format с ParsePosition и FieldPosition, чтобы:
- Последовательно разбирать фрагменты строки
- Выравнивать десятичный разделитель и другие элементы
- Если используется моноширинный шрифт с интервалами для выравнивания, можно передать
FieldPositionпри вызове форматирования, указавfield=INTEGER_FIELD. При форматированииgetEndIndexбудет установлено смещение между последним символом целой части и десятичным разделителем. Добавьте в начало строки (desiredSpaceCount - getEndIndex) пробелов. - При использовании пропорциональных шрифтов вместо добавления пробелов измерьте ширину строки в пикселях от начала до
getEndIndex. Затем перед выводом текста сдвиньте перо на (desiredPixelWidth - widthToAlignmentPoint). Это также работает, если десятичного разделителя нет, но в конце могут находиться дополнительные символы, например скобки для отрицательных чисел: "(12)" для -12.
Нестрогий разбор
По умолчаниюNumberFormat выполняет разбор в нестрогом режиме. В подклассах можно реализовать строгий разбор, переопределив и предоставив реализации необязательных методов isStrict() и setStrict(boolean). Нестрогий разбор следует использовать, когда нужно извлечь число из строки, содержащей нечисловые значения или значения, не относящиеся к формату. Например, можно использовать денежный формат Locale.US, чтобы извлечь число 1000 из строки "$1,000.00 was paid".
Строгий разбор следует использовать, когда необходимо убедиться, что строка точно соответствует соглашениям локали, и тем самым проверить ввод. Например, успешный разбор числа 1000.55 из строки "1.000,55" подтверждает, что строка точно соответствует числовым соглашениям локали Locale.GERMANY.
Синхронизация
Форматы чисел обычно не являются синхронизированными. Рекомендуется создавать отдельный экземпляр формата для каждого потока. Если несколько потоков одновременно обращаются к одному формату, синхронизацию необходимо обеспечить извне.- Требования к реализации:
- Обработка нулевых параметров
- Методы
format(double, StringBuffer, FieldPosition),format(long, StringBuffer, FieldPosition)иparse(String, ParsePosition)могут выброситьNullPointerException, если какой-либо из их параметров имеет значениеnull. Подкласс может предоставить собственную реализацию и спецификацию обработкиNullPointerException.
- Реализация по умолчанию предоставляет режимы округления, определённые в
RoundingMode, для форматирования чисел. Используется алгоритм округления к ближайшему чётному. Чтобы изменить режим округления, используйтеsetRoundingMode. ОбъектNumberFormat, возвращаемый статическими фабричными методами, настроен на округление чисел с плавающей точкой к ближайшему чётному при форматировании (см.RoundingMode.HALF_EVEN).
- Методы
- Начиная с версии:
- 1.1
- Внешние спецификации
- См. также:
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
static class |
NumberFormat.Field |
Определяет константы, используемые в качестве ключей атрибутов в AttributedCharacterIterator, возвращаемом из NumberFormat.formatToCharacterIterator, и в качестве идентификаторов полей в FieldPosition. |
static enum |
NumberFormat.Style |
Стиль числового формата. |
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
FRACTION_FIELD |
Константа поля, используемая для создания объекта FieldPosition. |
static final int |
INTEGER_FIELD |
Константа поля, используемая для создания объекта FieldPosition. |
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Единственный конструктор. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Object |
clone() |
Переопределяет Cloneable. |
boolean |
equals |
Сравнивает указанный объект с этим NumberFormat на равенство. |
final String |
format |
Специализация метода format. |
abstract StringBuffer |
format |
Специализация метода format. |
final String |
format |
Специализация метода format. |
abstract StringBuffer |
format |
Специализация метода format. |
StringBuffer |
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 |
Возвращает процентный формат для указанной локали. |
RoundingMode |
getRoundingMode() |
Возвращает RoundingMode, используемый в этом NumberFormat. |
int |
hashCode() |
Возвращает хеш-код этого NumberFormat. |
boolean |
isGroupingUsed() |
Возвращает true, если в этом формате используются разделители групп разрядов. |
boolean |
isParseIntegerOnly() |
Возвращает true, если этот формат разбирает числа только как целые. |
boolean |
isStrict() |
Возвращает true, если этот формат разбирает числа в строгом режиме; в противном случае — false. |
Number |
parse |
Разбирает текст с начала указанной строки и возвращает Number. |
abstract Number |
parse |
Разбирает текст с начала указанной строки и возвращает Number. |
final Object |
parseObject |
Разбирает текст из указанной строки и возвращает объект. |
void |
setCurrency |
Задаёт валюту, используемую этим числовым форматом при форматировании денежных значений. |
void |
setGroupingUsed |
Задаёт, будут ли в этом формате использоваться разделители групп разрядов. |
void |
setMaximumFractionDigits |
Задаёт максимальное количество цифр, допустимое во дробной части числа при форматировании. |
void |
setMaximumIntegerDigits |
Задаёт максимальное количество цифр, допустимое в целой части числа при форматировании. |
void |
setMinimumFractionDigits |
Задаёт минимальное количество цифр, допустимое во дробной части числа при форматировании. |
void |
setMinimumIntegerDigits |
Задаёт минимальное количество цифр, допустимое в целой части числа при форматировании. |
void |
setParseIntegerOnly |
Задаёт, следует ли разбирать числа только как целые. |
void |
setRoundingMode |
Задаёт RoundingMode, используемый в этом NumberFormat. |
void |
setStrict |
Изменяет значение нестрогости при разборе. |
Методы, объявленные в классе Format
format, formatToCharacterIterator, parseObject
Подробное описание полей
INTEGER_FIELD
public static final int INTEGER_FIELD
- См. также:
FRACTION_FIELD
public static final int FRACTION_FIELD
- См. также:
Подробное описание конструкторов
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.
- Определено в:
-
formatв классеFormat - Параметры:
-
number— число для форматирования -
toAppendTo—StringBuffer, в который добавляется отформатированный текст -
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 - См. также:
parseObject
public final Object parseObject(String source, ParsePosition pos)
Этот метод пытается разобрать текст, начиная с индекса, заданного параметром pos. Если разбор выполнен успешно, индекс pos обновляется до позиции после последнего использованного символа (при разборе необязательно используются все символы до конца строки), а разобранный объект возвращается. Обновленное значение pos можно использовать как начальную позицию для следующего вызова этого метода. Если возникает ошибка, индекс pos не изменяется, индекс ошибки pos устанавливается в позицию символа, на котором произошла ошибка, и возвращается null.
- Определено в:
-
parseObjectв классеFormat - Требования к реализации:
- Эта реализация эквивалентна вызову
parse(source, pos). - Параметры:
-
source—Stringдля разбора -
pos— объектParsePositionс информацией об индексе и индексе ошибки, описанной выше. - Возвращает:
- Объект
Number, разобранный из строки. В случае ошибки возвращает null. - Исключения:
-
NullPointerException— еслиsourceилиposравно null.
format
public final String format(double number)
- Параметры:
-
number— число типа double для форматирования - Возвращает:
- отформатированную строку
- Исключения:
-
ArithmeticException— если требуется округление, а режим округления установлен в RoundingMode.UNNECESSARY - См. также:
format
public final String format(long number)
- Параметры:
-
number— число типа long для форматирования - Возвращает:
- отформатированную строку
- Исключения:
-
ArithmeticException— если требуется округление, а режим округления установлен в RoundingMode.UNNECESSARY - См. также:
format
public abstract StringBuffer format(double number, StringBuffer toAppendTo, FieldPosition pos)
- Параметры:
-
number— число типа double для форматирования -
toAppendTo— StringBuffer, в который добавляется отформатированный текст -
pos— отслеживает позицию поля в возвращаемой строке. Например, при форматировании числа1234567.89в локалиLocale.US, если указанное значениеfieldPositionравноINTEGER_FIELD, начальный и конечный индексыfieldPositionбудут установлены соответственно в 0 и 9 для выходной строки1,234,567.89. - Возвращает:
- отформатированный StringBuffer
- Исключения:
-
ArithmeticException— если требуется округление, а режим округления установлен в RoundingMode.UNNECESSARY - См. также:
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 - См. также:
parse
public abstract Number parse(String source, ParsePosition parsePosition)
Number. Этот метод пытается разобрать текст, начиная с индекса, заданного параметром ParsePosition. Если разбор выполнен успешно, индекс
ParsePosition обновляется до позиции после последнего использованного символа (при разборе необязательно используются все символы до конца строки), а разобранное число возвращается. Обновленное значение
ParsePosition можно использовать как начальную позицию для следующего вызова этого метода. Если возникает ошибка, индекс ParsePosition не изменяется, индекс ошибки ParsePosition устанавливается в позицию символа, на котором произошла ошибка, и возвращается null.
Этот метод возвращает Long, если это возможно (например, значение находится в диапазоне [Long.MIN_VALUE, Long.MAX_VALUE] и не содержит дробной части); в противном случае возвращает Double.
- Параметры:
-
source—Stringдля разбора -
parsePosition— объектParsePositionс информацией об индексе и индексе ошибки, описанной выше. - Возвращает:
- Объект
Number, разобранный из строки. В случае ошибки возвращаетnull. - Исключения:
-
NullPointerException— еслиsourceилиParsePositionравноnull. - См. также:
parse
public Number parse(String source) throws ParseException
Number. Этот метод возвращает Long, если это возможно (например, значение находится в диапазоне [Long.MIN_VALUE, Long.MAX_VALUE] и не содержит дробной части); в противном случае возвращает Double.
- Параметры:
-
source—String, который нужно разобрать с начала строки. - Возвращает:
- Объект
Number, разобранный из строки. - Исключения:
-
ParseException— если разбор не удался -
NullPointerException— еслиsourceравноnull. - См. также:
isParseIntegerOnly
public boolean isParseIntegerOnly()
true, если этот формат разбирает числа только как целые. Индекс ParsePosition будет установлен в позицию десятичного разделителя. Точный формат, принимаемый операцией разбора, зависит от локали. Например, в английской локали при значении ParseIntegerOnly true строка "123.45" будет разобрана как целое значение 123.- Возвращает:
-
true, если числа следует разбирать только как целые; в противном случае —false
setParseIntegerOnly
public void setParseIntegerOnly(boolean value)
- Параметры:
-
value—true, если числа следует разбирать только как целые; в противном случае —false - См. также:
isStrict
public boolean isStrict()
true, если этот формат строго разбирает числа; в противном случае — false.- Требования к реализации:
- Реализация по умолчанию всегда выбрасывает
UnsupportedOperationException. Подклассам следует переопределять этот метод при реализации строгого разбора. - Возвращает:
-
true, если этот формат строго разбирает числа; в противном случае —false - Исключения:
-
UnsupportedOperationException— если реализация этого метода не поддерживает эту операцию - Начиная с версии:
- 23
- См. также:
setStrict
public void setStrict(boolean strict)
- Требования к реализации:
- Реализация по умолчанию всегда выбрасывает
UnsupportedOperationException. Подклассам следует переопределять этот метод при реализации строгого разбора. - Параметры:
-
strict—true, если разбор должен выполняться строго; в противном случае —false - Исключения:
-
UnsupportedOperationException— если реализация этого метода не поддерживает эту операцию - Начиная с версии:
- 23
- См. также:
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для универсального форматирования чисел - См. также:
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
- См. также:
getIntegerInstance
public static NumberFormat getIntegerInstance(Locale inLocale)
RoundingMode.HALF_EVEN) при форматировании и на разбор только целой части входной строки (см. isParseIntegerOnly).- Параметры:
-
inLocale— требуемая локаль - Возвращает:
- формат чисел для целочисленных значений
- Начиная с версии:
- 1.4
- См. также:
getCurrencyInstance
public static final NumberFormat getCurrencyInstance()
FORMAT по умолчанию. Это эквивалентно вызову getCurrencyInstance(Locale.getDefault(Locale.Category.FORMAT)).
- Возвращает:
- экземпляр
NumberFormatдля форматирования валют - См. также:
getCurrencyInstance
public static NumberFormat getCurrencyInstance(Locale inLocale)
Если указанная локаль содержит Unicode-расширение "cf" (стиль форматирования валюты), возвращаемый формат валюты использует этот стиль, если он доступен. В противном случае используется стиль формата валюты по умолчанию "standard". Например, если стиль задает "account", в некоторых локалях отрицательные суммы в валюте заключаются в круглые скобки.
- Параметры:
-
inLocale— требуемая локаль - Возвращает:
- экземпляр
NumberFormatдля форматирования валют - Внешние спецификации
getPercentInstance
public static final NumberFormat getPercentInstance()
FORMAT по умолчанию. Это эквивалентно вызову getPercentInstance(Locale.getDefault(Locale.Category.FORMAT)).
- Возвращает:
- экземпляр
NumberFormatдля форматирования процентов - См. также:
getPercentInstance
public static NumberFormat getPercentInstance(Locale inLocale)
- Параметры:
-
inLocale— требуемая локаль - Возвращает:
- экземпляр
NumberFormatдля форматирования процентов
getCompactNumberInstance
getCompactNumberInstance
public static NumberFormat getCompactNumberInstance(Locale locale, NumberFormat.Style formatStyle)
locale и formatStyle.- Параметры:
-
locale— требуемая локаль -
formatStyle— стиль форматирования числа - Возвращает:
- Экземпляр
NumberFormatдля компактного форматирования чисел - Исключения:
-
NullPointerException— еслиlocaleилиformatStyleравноnull - Начиная с версии:
- 12
- См. также:
getAvailableLocales
public static Locale[] getAvailableLocales()
get*Instance этого класса могут возвращать локализованные экземпляры. Возвращаемый массив представляет собой объединение локалей, поддерживаемых средой выполнения Java и установленными реализациями NumberFormatProvider. Как минимум возвращаемый массив должен содержать экземпляр Locale, равный Locale.ROOT, и экземпляр Locale, равный Locale.US.- Возвращает:
- Массив локалей, для которых доступны локализованные экземпляры
NumberFormat.
hashCode
public int hashCode()
NumberFormat.- Переопределяет:
-
hashCodeв классеObject - Требования к реализации:
- Этот метод вычисляет значение хеш-кода, используя значения, возвращаемые методами
getMaximumIntegerDigits()иgetMaximumFractionDigits(). - Возвращает:
- хеш-код этого
NumberFormat - См. также:
equals
public boolean equals(Object obj)
NumberFormat на равенство. Возвращает true, если объект также является NumberFormat и оба формата форматируют любое значение одинаково.- Переопределяет:
-
equalsв классеObject - Требования к реализации:
- Этот метод проверяет равенство с учетом идентичности класса на основе
getClass(), а неinstanceof. Поэтому в методах equals подклассов ни один экземпляр этого класса не должен считаться равным экземпляру подкласса. - Параметры:
-
obj— объект для сравнения на равенство - Возвращает:
-
true, если указанный объект равен этомуNumberFormat - См. также:
clone
isGroupingUsed
public boolean isGroupingUsed()
NumberFormat, в котором в качестве разделителя групп используется символ ",", а размер группы равен 3. - Форматирование
1234567с включенной группировкой возвращает"1,234,567" - Разбор
"1,234,567"с выключенной группировкой возвращает1 - Разбор
"1,234,567"с выключенной группировкой при условии, чтоisStrict(), возвращаетtrueи выбрасываетParseException
- Возвращает:
-
true, если группировка используется; в противном случае —false - См. также:
setGroupingUsed
public void setGroupingUsed(boolean newValue)
- Параметры:
-
newValue—true, если группировка используется; в противном случае —false - См. также:
getMaximumIntegerDigits
public int getMaximumIntegerDigits()
- Возвращает:
- максимальное количество цифр
- См. также:
setMaximumIntegerDigits
public void setMaximumIntegerDigits(int newValue)
maximumIntegerDigits должно быть ≥ minimumIntegerDigits. Если новое значение
maximumIntegerDigits меньше текущего значения minimumIntegerDigits, то minimumIntegerDigits также будет установлено в новое значение. Отрицательные входные значения заменяются на 0.- Параметры:
-
newValue— максимальное количество отображаемых цифр целой части. Конкретный подкласс может устанавливать верхнее ограничение этого значения, соответствующее форматируемому числовому типу. - См. также:
getMinimumIntegerDigits
public int getMinimumIntegerDigits()
- Возвращает:
- минимальное количество цифр
- См. также:
setMinimumIntegerDigits
public void setMinimumIntegerDigits(int newValue)
minimumIntegerDigits должно быть ≤ maximumIntegerDigits. Если новое значение minimumIntegerDigits превышает текущее значение maximumIntegerDigits, то
maximumIntegerDigits также будет установлено в новое значение. Отрицательные входные значения заменяются на 0.- Параметры:
-
newValue— минимальное количество отображаемых цифр целой части. Конкретный подкласс может устанавливать верхнее ограничение этого значения, соответствующее форматируемому числовому типу. - См. также:
getMaximumFractionDigits
public int getMaximumFractionDigits()
- Возвращает:
- максимальное количество цифр.
- См. также:
setMaximumFractionDigits
public void setMaximumFractionDigits(int newValue)
maximumFractionDigits должно быть ≥ minimumFractionDigits. Если новое значение maximumFractionDigits меньше текущего значения minimumFractionDigits, то minimumFractionDigits также будет установлено в новое значение. Отрицательные входные значения заменяются на 0.- Параметры:
-
newValue— максимальное количество отображаемых цифр дробной части. Конкретный подкласс может устанавливать верхнее ограничение этого значения, соответствующее форматируемому числовому типу. - См. также:
getMinimumFractionDigits
public int getMinimumFractionDigits()
- Возвращает:
- минимальное количество цифр
- См. также:
setMinimumFractionDigits
public void setMinimumFractionDigits(int newValue)
minimumFractionDigits должно быть ≤ maximumFractionDigits. Если новое значение
minimumFractionDigits превышает текущее значение
maximumFractionDigits, то maximumFractionDigits также будет установлено в новое значение. Отрицательные входные значения заменяются на 0.- Параметры:
-
newValue— минимальное количество отображаемых цифр дробной части. Конкретный подкласс может устанавливать верхнее ограничение этого значения, соответствующее форматируемому числовому типу. - См. также:
getCurrency
public Currency getCurrency()
null, если не удалось определить допустимую валюту и валюта не была задана с помощью setCurrency(Currency).- Требования к реализации:
- Реализация по умолчанию всегда выбрасывает
UnsupportedOperationException. Подклассам следует переопределить этот метод, если требуется форматирование валют. - Возвращает:
- валюту, используемую этим форматом чисел, или
null - Выбрасывает:
-
UnsupportedOperationException— если реализация этого метода не поддерживает данную операцию - Начиная с:
- 1.4
setCurrency
public void setCurrency(Currency currency)
- Требования к реализации:
- Реализация по умолчанию всегда выбрасывает
UnsupportedOperationException. Подклассам следует переопределить этот метод, если требуется форматирование валют. - Параметры:
-
currency— новая валюта, используемая этим форматом чисел - Выбрасывает:
-
NullPointerException— еслиcurrencyимеет значениеnull -
UnsupportedOperationException— если реализация этого метода не поддерживает данную операцию - Начиная с:
- 1.4
getRoundingMode
public RoundingMode getRoundingMode()
RoundingMode, используемый в этом NumberFormat.- Требования к реализации:
- Реализация по умолчанию всегда выбрасывает
UnsupportedOperationException. Подклассам, поддерживающим различные режимы округления, следует переопределить этот метод. - Возвращает:
RoundingMode, используемый в этом NumberFormat.- Выбрасывает:
-
UnsupportedOperationException— если реализация этого метода не поддерживает данную операцию - Начиная с:
- 1.6
- См. также:
setRoundingMode
public void setRoundingMode(RoundingMode roundingMode)
RoundingMode, используемый в этом NumberFormat.- Требования к реализации:
- Реализация по умолчанию всегда выбрасывает
UnsupportedOperationException. Подклассам, поддерживающим различные режимы округления, следует переопределить этот метод. - Параметры:
-
roundingMode—RoundingMode, который будет использоваться - Выбрасывает:
-
NullPointerException— еслиroundingModeимеет значениеnull -
UnsupportedOperationException— если реализация этого метода не поддерживает данную операцию - Начиная с:
- 1.6
- См. также:
© 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://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/text/NumberFormat.html