public final class MathContext extends Object implements Serializable
BigDecimal class.
The base-independent settings are:
precision:
the number of digits to be used for an operation; results are
rounded to this precision
roundingMode:
a RoundingMode object which specifies the algorithm to be
used for rounding.
BigDecimal,
RoundingMode,
Serialized Form| Modifier and Type | Field and Description |
|---|---|
static MathContext |
DECIMAL128
A
MathContext object with a precision setting
matching the IEEE 754R Decimal128 format, 34 digits, and a
rounding mode of HALF_EVEN, the
IEEE 754R default. |
static MathContext |
DECIMAL32
A
MathContext object with a precision setting
matching the IEEE 754R Decimal32 format, 7 digits, and a
rounding mode of HALF_EVEN, the
IEEE 754R default. |
static MathContext |
DECIMAL64
A
MathContext object with a precision setting
matching the IEEE 754R Decimal64 format, 16 digits, and a
rounding mode of HALF_EVEN, the
IEEE 754R default. |
static MathContext |
UNLIMITED
A
MathContext object whose settings have the values
required for unlimited precision arithmetic. |
| Constructor and Description |
|---|
MathContext(int setPrecision)
Constructs a new
MathContext with the specified
precision and the HALF_UP rounding
mode. |
MathContext(int setPrecision,
RoundingMode setRoundingMode)
Constructs a new
MathContext with a specified
precision and rounding mode. |
MathContext(String val)
Constructs a new
MathContext from a string. |
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(Object x)
Compares this
MathContext with the specified
Object for equality. |
int |
getPrecision()
Returns the
precision setting. |
RoundingMode |
getRoundingMode()
Returns the roundingMode setting.
|
int |
hashCode()
Returns the hash code for this
MathContext. |
String |
toString()
Returns the string representation of this
MathContext. |
public static final MathContext UNLIMITED
MathContext object whose settings have the values
required for unlimited precision arithmetic.
The values of the settings are:
precision=0 roundingMode=HALF_UP
public static final MathContext DECIMAL32
MathContext object with a precision setting
matching the IEEE 754R Decimal32 format, 7 digits, and a
rounding mode of HALF_EVEN, the
IEEE 754R default.public static final MathContext DECIMAL64
MathContext object with a precision setting
matching the IEEE 754R Decimal64 format, 16 digits, and a
rounding mode of HALF_EVEN, the
IEEE 754R default.public static final MathContext DECIMAL128
MathContext object with a precision setting
matching the IEEE 754R Decimal128 format, 34 digits, and a
rounding mode of HALF_EVEN, the
IEEE 754R default.public MathContext(int setPrecision)
MathContext with the specified
precision and the HALF_UP rounding
mode.setPrecision - The non-negative int precision setting.IllegalArgumentException - if the setPrecision parameter is less
than zero.public MathContext(int setPrecision,
RoundingMode setRoundingMode)
MathContext with a specified
precision and rounding mode.setPrecision - The non-negative int precision setting.setRoundingMode - The rounding mode to use.IllegalArgumentException - if the setPrecision parameter is less
than zero.NullPointerException - if the rounding mode argument is nullpublic MathContext(String val)
MathContext from a string.
The string must be in the same format as that produced by the
toString() method.
An IllegalArgumentException is thrown if the precision
section of the string is out of range (< 0) or the string is
not in the format created by the toString() method.
val - The string to be parsedIllegalArgumentException - if the precision section is out of range
or of incorrect formatNullPointerException - if the argument is nullpublic int getPrecision()
precision setting.
This value is always non-negative.int which is the value of the precision
settingpublic RoundingMode getRoundingMode()
RoundingMode.CEILING,
RoundingMode.DOWN,
RoundingMode.FLOOR,
RoundingMode.HALF_DOWN,
RoundingMode.HALF_EVEN,
RoundingMode.HALF_UP,
RoundingMode.UNNECESSARY, or
RoundingMode.UP.RoundingMode object which is the value of the
roundingMode settingpublic boolean equals(Object x)
MathContext with the specified
Object for equality.equals in class Objectx - Object to which this MathContext is to
be compared.true if and only if the specified Object is
a MathContext object which has exactly the same
settings as this objectObject.hashCode()public int hashCode()
MathContext.hashCode in class ObjectMathContextObject.equals(java.lang.Object)public String toString()
MathContext.
The String returned represents the settings of the
MathContext object as two space-delimited words
(separated by a single space character, '\u0020',
and with no leading or trailing white space), as follows:
"precision=", immediately followed
by the value of the precision setting as a numeric string as if
generated by the Integer.toString
method.
"roundingMode=", immediately
followed by the value of the roundingMode setting as a
word. This word will be the same as the name of the
corresponding public constant in the RoundingMode
enum.
For example:
precision=9 roundingMode=HALF_UPAdditional words may be appended to the result of
toString in the future if more properties are added to
this class. Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.
DRAFT internal-b00