Класс 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. Это значение всегда неотрицательно.
- Возвращает:
- числовое значение
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(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.