Spec-Zone.ru › OpenJDK 27

Класс MathContext

java.lang.Object
java.math.MathContext
Все реализуемые интерфейсы:
Serializable
public final class MathContext extends Object implements Serializable
Неизменяемые объекты, содержащие настройки контекста, которые задают определённые правила для числовых операторов, например реализованных классом BigDecimal.

Независимые от основания настройки:

  1. precision: количество цифр, используемых для операции; результаты округляются до этой точности
  2. roundingMode: объект RoundingMode, задающий алгоритм округления.
Начиная с версии:
1.5
Внешние спецификации
  • Стандарт IEEE для арифметики с плавающей запятой
См. также:
  • BigDecimal
  • RoundingMode
  • Сериализованное представление

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

Модификатор и тип Поле Описание
static final MathContext DECIMAL128
Объект MathContext с точностью, соответствующей точности формата decimal128 из IEEE 754-2019 (34 цифры), и режимом округления HALF_EVEN.
static final MathContext DECIMAL32
Объект MathContext с точностью, соответствующей точности формата decimal32 из IEEE 754-2019 (7 цифр), и режимом округления HALF_EVEN.
static final MathContext DECIMAL64
Объект MathContext с точностью, соответствующей точности формата decimal64 из IEEE 754-2019 (16 цифр), и режимом округления HALF_EVEN.
static final MathContext UNLIMITED
Объект MathContext, настройки которого имеют значения, необходимые для арифметики с неограниченной точностью.

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

Конструктор Описание
MathContext(int setPrecision)
Создаёт новый MathContext с указанной точностью и режимом округления HALF_UP.
MathContext(int setPrecision, RoundingMode setRoundingMode)
Создаёт новый MathContext с указанными точностью и режимом округления.
MathContext(String val)
Создаёт новый MathContext из строки.

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

Модификатор и тип Метод Описание
boolean equals(Object x)
Сравнивает этот MathContext с указанным Object на равенство.
int getPrecision()
Возвращает значение настройки precision.
RoundingMode getRoundingMode()
Возвращает значение настройки roundingMode.
int hashCode()
Возвращает хеш-код этого MathContext.
String toString()
Возвращает строковое представление этого MathContext.

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

clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии.
Финализация объявлена устаревшей и может быть удалена в одном из следующих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.

Подробное описание полей

UNLIMITED

public static final MathContext UNLIMITED
Объект MathContext, настройки которого имеют значения, необходимые для арифметики с неограниченной точностью. Значения настроек: precision=0 roundingMode=HALF_UP

DECIMAL32

public static final MathContext DECIMAL32
Объект MathContext с точностью, соответствующей точности формата decimal32 из IEEE 754-2019 (7 цифр), и режимом округления HALF_EVEN. Обратите внимание, что диапазон экспонент decimal32 (минимальная экспонента −95, максимальная экспонента 96) не используется при округлении.

DECIMAL64

public static final MathContext DECIMAL64
Объект MathContext с точностью, соответствующей точности формата decimal64 из IEEE 754-2019 (16 цифр), и режимом округления HALF_EVEN. Обратите внимание, что диапазон экспонент decimal64 (минимальная экспонента −383, максимальная экспонента 384) не используется при округлении.

DECIMAL128

public static final MathContext DECIMAL128
Объект MathContext с точностью, соответствующей точности формата decimal128 из IEEE 754-2019 (34 цифры), и режимом округления HALF_EVEN. Обратите внимание, что диапазон экспонент decimal128 (минимальная экспонента −6143, максимальная экспонента 6144) не используется при округлении.

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

MathContext

public MathContext(int setPrecision)
Создаёт новый MathContext с указанной точностью и режимом округления HALF_UP.
Параметры:
setPrecision — неотрицательная настройка точности int.
Исключения:
IllegalArgumentException — если значение параметра setPrecision меньше нуля.

MathContext

public MathContext(int setPrecision, RoundingMode setRoundingMode)
Создаёт новый MathContext с указанными точностью и режимом округления.
Параметры:
setPrecision — неотрицательная настройка точности int.
setRoundingMode — используемый режим округления.
Исключения:
IllegalArgumentException — если значение параметра setPrecision меньше нуля.
NullPointerException — если аргумент режима округления равен null

MathContext

public MathContext(String val)
Создаёт новый MathContext из строки. Строка должна иметь тот же формат, что и строка, созданная методом toString().

Выбрасывается исключение IllegalArgumentException, если раздел точности в строке выходит за допустимый диапазон (< 0) или строка не соответствует формату, создаваемому методом toString().

Параметры:
val — строка для разбора
Исключения:
IllegalArgumentException — если раздел точности выходит за допустимый диапазон или имеет неверный формат
NullPointerException — если аргумент равен null

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

getPrecision

public int getPrecision()
Возвращает значение настройки precision. Это значение всегда неотрицательно.
Возвращает:
значение типа int, соответствующее настройке precision

getRoundingMode

public RoundingMode getRoundingMode()
Возвращает значение настройки roundingMode. Оно будет одним из следующих: RoundingMode.CEILING, RoundingMode.DOWN, RoundingMode.FLOOR, RoundingMode.HALF_DOWN, RoundingMode.HALF_EVEN, RoundingMode.HALF_UP, RoundingMode.UNNECESSARY или RoundingMode.UP.
Возвращает:
объект RoundingMode, соответствующий настройке roundingMode

equals

public boolean equals(Object x)
Сравнивает этот MathContext с указанным Object на равенство.
Переопределяет:
equals в классе Object
Параметры:
x — Object, с которым сравнивается этот MathContext.
Возвращает:
true тогда и только тогда, когда указанный Object является объектом MathContext с настройками, в точности совпадающими с настройками этого объекта
См. также:
  • Object.hashCode()
  • HashMap

hashCode

public int hashCode()
Возвращает хеш-код этого MathContext.
Переопределяет:
hashCode в классе Object
Возвращает:
хеш-код этого MathContext
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(Object)

toString

public String toString()
Возвращает строковое представление этого MathContext. Возвращённая String представляет настройки объекта MathContext в виде двух слов, разделённых пробелом (разделённых одним пробелом, '\u0020', без пробелов в начале и в конце), следующим образом:
  1. Строка "precision=", сразу за которой следует значение настройки точности в виде числовой строки, сформированной методом Integer.toString.
  2. Строка "roundingMode=", сразу за которой следует значение настройки roundingMode в виде слова. Это слово будет совпадать с именем соответствующей открытой константы перечисления RoundingMode.

Например:

precision=9 roundingMode=HALF_UP
В будущем к результату toString могут быть добавлены дополнительные слова, если в этот класс будут добавлены новые свойства.
Переопределяет:
toString в классе Object
Возвращает:
строку String, представляющую настройки контекста

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

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