Класс MathContext
java.lang.Object
java.math.MathContext
- Все реализуемые интерфейсы:
Serializable
public final class MathContext extends Object implements Serializable
Неизменяемые объекты, содержащие настройки контекста, которые задают определённые правила для числовых операторов, например реализованных классом
BigDecimal. Независимые от основания настройки:
-
precision: количество цифр, используемых для операции; результаты округляются до этой точности -
roundingMode: объектRoundingMode, задающий алгоритм округления.
- Начиная с версии:
- 1.5
- Внешние спецификации
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
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 |
Создаёт новый MathContext с указанной точностью и режимом округления HALF_UP. |
MathContext |
Создаёт новый MathContext с указанными точностью и режимом округления. |
MathContext |
Создаёт новый MathContext из строки. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
equals |
Сравнивает этот 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 |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова 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 на равенство.hashCode
toString
public String toString()
Возвращает строковое представление этого
MathContext. Возвращённая String представляет настройки объекта MathContext в виде двух слов, разделённых пробелом (разделённых одним пробелом, '\u0020', без пробелов в начале и в конце), следующим образом: - Строка
"precision=", сразу за которой следует значение настройки точности в виде числовой строки, сформированной методомInteger.toString. - Строка
"roundingMode=", сразу за которой следует значение настройкиroundingModeв виде слова. Это слово будет совпадать с именем соответствующей открытой константы перечисленияRoundingMode.
Например:
precision=9 roundingMode=HALF_UPВ будущем к результату
toString могут быть добавлены дополнительные слова, если в этот класс будут добавлены новые свойства.
© 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.