Класс MathContext
- java.lang.Object
- java.math.MathContext
- Все реализованные интерфейсы:
Serializable
public final class MathContext extends Object implements Serializable
Неизменяемые объекты, которые инкапсулируют настройки контекста, описывающие определённые правила для числовых операторов, такие как те, которые реализованы классом BigDecimal.
Независимые от основания настройки:
-
precision: количество цифр, используемых для операции; результаты округляются до этой точности -
roundingMode: объектRoundingMode, который определяет алгоритм, используемый для округления.
- С момента:
- 1.5
- См. также:
-
BigDecimal,RoundingMode, Форматированный вывод сериализованных объектов
Поля
| Модификатор и тип | Поле | Описание |
|---|---|---|
static MathContext | DECIMAL128 | Объект |
static MathContext | DECIMAL32 | Объект |
static MathContext | DECIMAL64 | Объект |
static MathContext | UNLIMITED | Объект |
Конструкторы
| Конструктор | Описание |
|---|---|
MathContext(int setPrecision) | Создаёт новый объект |
MathContext(int setPrecision,
RoundingMode setRoundingMode) | Создаёт новый объект |
MathContext(String val) | Создаёт новый объект |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean | equals(Object x) | Сравнивает этот объект |
int | getPrecision() | Возвращает настройку |
RoundingMode | getRoundingMode() | Возвращает настройку roundingMode. |
int | hashCode() | Возвращает хэш-код для этого объекта |
String | toString() | Возвращает строковое представление этого объекта |
Методы, объявленные в классе java.lang.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, со значением точности, соответствующей формату IEEE 754R Decimal32, 7 цифры и режимом округления HALF_EVEN, значение по умолчанию IEEE 754R.
DECIMAL64
public static final MathContext DECIMAL64
Объект MathContext, со значением точности, соответствующей формату IEEE 754R Decimal64, 16 цифры и режимом округления HALF_EVEN, значение по умолчанию IEEE 754R.
DECIMAL128
public static final MathContext DECIMAL128
Объект MathContext, со значением точности, соответствующей формату IEEE 754R Decimal128, 34 цифры и режимом округления HALF_EVEN, значение по умолчанию IEEE 754R.
Конструкторы
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 . Это значение всегда неотрицательное.
- Возвращает:
- значение настройки
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, с которым сравнивается данный объект. - Возвращает:
-
trueтогда и только тогда, когда указанный объектObjectявляется объектомMathContext, имеющим точно такие же настройки, как и этот объект. - См. также:
-
Object.hashCode(),HashMap
hashCode
public int hashCode()
Возвращает хэш-код для этого объекта MathContext.
- Переопределяет:
-
hashCodeв классеObject - Возвращает:
- хэш-код для этого объекта
MathContext - См. также:
-
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
toString
public String toString()
Возвращает строковое представление этого объекта MathContext. Возвращаемое строковое представление отображает настройки объекта MathContext в виде двух слов, разделённых пробелом (с одним символом пробела между словами, '\u0020', без лидирующих и трейловых пробелов), как следует:
- Строка
"precision=", за которой следует значение настройки точности в виде числовой строки, как если бы она была сгенерирована методомInteger.toString. - Строка
"roundingMode=", за которой следует значение настройкиroundingModeв виде слова. Это слово будет таким же, как имя соответствующей публичной константы в перечисленииRoundingMode.
Например:
precision=9 roundingMode=HALF_UPДополнительные слова могут быть добавлены к результату метода
toString в будущем, если к этому классу будут добавлены дополнительные свойства.
© 1993, 2020, 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/11/docs/api/java.base/java/math/MathContext.html