Класс 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. |
Подробное описание полей
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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/math/MathContext.html