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 FormModifier 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 null
public 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 null
public 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 Object
x
- 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()
,
HashMap
public int hashCode()
MathContext
.hashCode
in class Object
MathContext
Object.equals(java.lang.Object)
,
System.identityHashCode(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, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.