Spec-Zone.ru › OpenJDK 25

Класс 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

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

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, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/math/MathContext.html

Spec-Zone.ru

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